Category Archives: AVR / Embedded

PL-2303 Code 10 error

알리에서 싸다고 UART2USB 이런거 사면 PL2303칩 들어간걸 받게된다
문제는 리눅스는 별이상 없이 인식하는데 윈도우에서는 CODE 10 에러를 띄운다
제조사에서는 저렴한 FAKE 칩 쓰면 그렇다고 한다

리눅스에서 인식되는 정보 “067b:2303 Prolific Technology, Inc. PL2303 Serial Port”

뭐 이미 샀으니까 버리긴 아깝고 드라이버를 Fake detect 하기 이전의 버전으로 내리면 문제는 해결된다.
http://www.totalcardiagnostics.com/support/Knowledgebase/Article/View/92/20/prolific-usb-to-serial-fix-official-solution-to-code-10-error
여기서 받은 64bit 32bit를 설치하면 된다

다음에 살때는 PL2303은 피해서 사야겠다..

 

드라이버만 추출한것 Prolific USB-to-Serial Comm Port

USB charging sepecs

 

  1. Standard downstream port (SDP) This is the same port defined by the USB 2.0 spec and is the typical form found in desktop and laptop computers. The maximum load current is 2.5mA when suspended, 100mA when connected and not suspended, and 500mA (max) when configured for that current. A device can recognize a SDP with hardware by detecting that the USB data lines, D+ and D-, are separately grounded through 15kΩ, but it still needs to enumerate to be USB compliant. In USB 2.0, it is not strictly legal to draw power without enumerating, although much of present-day hardware does just that, and in violation of the spec.
  2. Charging downstream port (CDP) BC1.1 defines this new, higher current USB port for PCs, laptops, and other hardware. Now the CDP can supply up to 1.5A, which is a departure from USB 2.0 because this current can be supplied before enumeration. A device plugged into a CDP can recognize it as such by means of a hardware handshake implemented by manipulating and monitoring the D+ and D- lines. (See USB Battery Charging Specification, section 3.2.3.) The hardware test takes place before turning the data lines over to the USB transceiver, thus allowing a CDP to be detected (and charging to begin) before enumeration.
  3. Dedicated charging port (DCP) BC1.1 describes power sources like wall warts and auto adapters that do not enumerate so that charging can occur with no digital communication at all. DCPs can supply up to 1.5A and are identified by a short between D+ to D-. This allows the creation of DCP “wall warts” that feature a USB mini or micro receptacle instead of a permanently attached wire with a barrel or customized connector. Such adapters allow any USB cable (with the correct plugs) to be used for charging.

 

http://www.usb.org/developers/docs/devclass_docs/USB_Battery_Charging_1.2.pdf

 

https://www.maximintegrated.com/en/app-notes/index.mvp/id/4803

stm8s103f3 communication with ssd1306 by using I2C

이거 별거 아닌데 ….
STM8S103F에서 I2C 드라이버 만들고
아두이노 라이브러리 보면서 SSD1306 컨트롤러 만들고
SSD1306 동작방법 이해하다 보니까 이거 하는데 꼬박 하루 쏟아부었다…
스크롤 기능도 있는거 같던데 필요하게되면 해봐야지

저거 이미지만 1k인데 stm8s103f 스펙이 4k… 보통 코드가 적당히 쓰면 2k정도 나오는데 이미지 두개 구겨넣으면 겨우 들어갈듯…

http://en.radzio.dxp.pl/bitmap_converter/
https://cdn-shop.adafruit.com/datasheets/SSD1306.pdf
http://www.rinkydinkelectronics.com/r_fonts.php

근데 뭐하려고 만들었더라?!@….

20161205_000923