stm32f103c8t6 (bluepill) º¸µå¸¦ ÀÌ¿ëÇÑ usb vcp ±â´É ±¸ÇöÇϱâ

   Á¶È¸ 4000   Ãßõ 2    

별건 아니고 bluepill 이라는 arduino stm32 보드가 있습니다.

가격도 저렴한데 usb c로 되어있어서 추후 장난질 치기 좋을것 같아서 기능 검증 중입니다.


https://itempage3.auction.co.kr/DetailView.aspx?ItemNo=F241860522&frm3=V2 2,970원 stm32 보드

https://itempage3.auction.co.kr/DetailView.aspx?ItemNo=C710425497&frm3=V2 1,800원 stlink v2 클론


설정

클럭 시스템






usb device


usb middleware 설정



디버거 포트 설정





디버거를 위한 핀 설정




코드

int main(void)
{


 /* USER CODE BEGIN 1 */
#define BUF_SIZE 30
uint8_t usb_buf[BUF_SIZE];
uint32_t count = 0;
 /* USER CODE END 1 */


 /* MCU Configuration--------------------------------------------------------*/


 /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
 HAL_Init();


 /* USER CODE BEGIN Init */


 /* USER CODE END Init */


 /* Configure the system clock */
 SystemClock_Config();


 /* USER CODE BEGIN SysInit */


 /* USER CODE END SysInit */


 /* Initialize all configured peripherals */
 MX_GPIO_Init();
 MX_USB_DEVICE_Init();
 /* USER CODE BEGIN 2 */


 /* USER CODE END 2 */


 /* Infinite loop */
 /* USER CODE BEGIN WHILE */
 while (1)
 {
 sprintf((char*)usb_buf, "USB CDC TEST %ld\r\n", count);
 CDC_Transmit_FS(usb_buf, BUF_SIZE);
 HAL_Delay(1000);
 memset(usb_buf,0,BUF_SIZE);
 count++;


 /* USER CODE END WHILE */


 /* USER CODE BEGIN 3 */
 }
 /* USER CODE END 3 */
}


$ sudo demsg -w
[25664.443438] usb 1-2: new full-speed USB device number 26 using xhci_hcd
[25664.574720] usb 1-2: New USB device found, idVendor=0483, idProduct=5740, bcdDevice= 2.00
[25664.574741] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[25664.574748] usb 1-2: Product: STM32 Virtual ComPort
[25664.574754] usb 1-2: Manufacturer: STMicroelectronics
[25664.579419] cdc_acm 1-2:1.0: ttyACM0: USB ACM device


vcp 라서 minicom의 시리얼 포트 baudrate 상관없이 잘 나오니 먼가 이상하면서도 신기한 느낌이 듭니다.




추후 할일

ADC로 audio device class도 만들어 보고 싶고

Custom HID로 체리 키보드 처럼 사용자가 led 설정가능한 양방향 통신 가능한 HID도 만들어 보고 싶네요




 

참고

https://eteo.tistory.com/194 소스코드

https://blog.naver.com/crucian2k3/221533654464 굽는거 문제

딸 넷 아들 하나 아빠 (큰 딸, 작은 딸, 왕큰 딸, 암 뭉뭉이, 수 뭉뭉이) - minimonk.net
SiCMOS 01-05
¸®°×¿ë Űº¸µå¶û ·Ò¶óÀÌÅ͸¦ À̰ɷΠ¸¸µé¾ú½À´Ï´Ù...
     
hid ·Î ÇϽŰǰ¡¿ä? custom HID·Î ÇϽŰǰ¡¿ä? custom HID¿¡ °ü½ÉÀÌ °¡¼­¿ä ¤¾¤¾
·Ò¶óÀÌÅʹ ǥÁØÈ­µÈ ¹æ¹ýÀÌ Àִ°ǰ¡¿ä? spi Åë½ÅÀ̱ä Çϴϱî.. ±×³É bypass ½ÃŰ´Â°Ô ¼ÓÆíÇϽŠÇÒ°Å °°Àºµ¥
¹«¾ð°¡ Ç¥ÁØÈ­µÈ ´Ù¸¥ ¹æ¹ýÀÌ ÀÖ´ÂÁö ±Ã±ÝÇÕ´Ï´Ù.
¸®´ª½º¿¡¼­ Àνĵǰí ÀߵǴµ¥, À©µµ¿ì11¿¡¼­ µå¶óÀ̹ö ¾Èº¸ÀÌ°í ¸ÔÅëµÇ´Â ºÐµéÀº
usbd_desc.c +280
uint8_t * USBD_FS_SerialStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length)
{
..........
  return NULL;
  /* USER CODE END USBD_FS_SerialStrDescriptor */
  return (uint8_t *) USBD_StringSerial;
}
¸®Åϰª NULL·Î ³Ñ±â¼¼¿ä. ±×·³ ÀνÄÀߵɲ®´Ï´Ù.
Á÷¿ø±³À°¿ëÀ¸·Î ½á¸ÔÀ»·Á°í ÁÖ¹®ÇÏ°í ¿¬ÈÞ¶§ Å×½ºÆ® Çϴµ¥ ¹®Á¦°¡ ¹ß°ßµÇ¾ú½À´Ï´Ù.
     
Åð±ÙÇϰí Çѹø ¸®ºäÇØ ºÁ¾ß°Ú½À´Ï´Ù. ÁÁÀº ´ñ±Û °¨»çÇÕ´Ï´Ù! »õÇØº¹ ¸¹ÀÌ ¹ÞÀ¸¼¼¿ä~

Ȥ½Ã ¸ô¶ó ºñ½ÁÇÑ(?) °æÇè Çϳª °øÀ¯Çص帳´Ï´Ù.
https://minimonk.tistory.com/524458

¸®¼Â¹öư ´©¸£¸é usb°¡ ´Ù½Ã Àνľȵɰæ¿ì ¿ìȸ¹ýÀÔ´Ï´Ù.
D+ ¶óÀÎ Ç®´Ù¿î ÇØ¾ßÁö USB FS ·Î ÀνÄÇØ¼­ ´Ù½Ã Çù»ó¿¡ µé¾î°¡´Âµ¥ ±×³É ¸®ºÎÆÃ ÇØ¹ö¸®¸é ±×°Ô ¾ÈµÇ¼­ ²À »°´Ù ²È¾Æ¾ß µÇ´øµ¥
±×°Í¿¡ ´ëÇÑ ÇØ°áÃ¥ÀÔ´Ï´Ù.
          
°¨»çÇÕ´Ï´Ù. »õÇØ º¹ ¸¹ÀÌ ¹ÞÀ¸¼¼¿ä.
¸®¼Â½Ã ÃʱâÈ­´Â Á¤º¸°¡ À־ Àû¿ëÇØ ³ù½À´Ï´Ù.
¸®ºäÇØ º¸½Å´Ù¸é Àû¿ë ÀüÈÄ USB Tree Viewer·Î º¸½Ã¸é ¹®Á¦Á¡ÀÌ º¸ÀÔ´Ï´Ù.
Àü NULL (Serial Description Erroró¸®) Àû¿ë ÈÄ À©µµ¿ì µå¶óÀ̹ö Á¤»ó ·ÎµùÀÌ µÇ±æ·¡ ±í°Ô ÆÄ°íµéÁö ¾Ê¾Ò½À´Ï´Ù.
(¼öÁ¤Çصµ ¸®´ª½º¿¡¼­ ¹®Á¦¾øÀ½)
               
ÁÁÀº ÇÁ·Î±×·¥À» ¾Ë·ÁÁÖ¼ÌÀ¸´Ï ²À ½áº¸°Ú½À´Ï´Ù ¤¾¤¾


Á¦¸ñPage 1/66
2017-07   35880   ÄÄÆ÷À¯
2015-03   24366   ¼ÒÁÖÇѺ´
2016-05   16834   µÎÆ÷¸®
2015-03   29735   ¼ÒÁÖÇѺ´
2017-05   23245   witbox
2015-10   123671   TLaJ3KtYGr
2014-09   63927   ¸Ç½ºÅ¸
2015-01   44609   ´ë¹ßÀÌ
2015-12   27532   ĵÀ§µå
2015-03   27951   DOSS
2015-01   19998   Á¦½ºÆÛÁî
2014-11   25713   ÀÚÀÛ³ª¹«
2015-02   20455   Ä¡¸ÆÀüÀÚ
2014-11   37428   PiPPuuP
2015-06   21577   ǰÁúÀÌ
2015-06   14599   SonicGTR
2015-01   18011   monan
2014-10   23229   ¿Ã»©¹ÌÀá¿Í
2014-03   19102   ´ë¹ßÀÌ
2015-04   40609   ºÀÁÖ·æ