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

   Á¶È¸ 2555   Ãßõ 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
02-27   918   °æ¹ÚÇѽùÎ
02-25   1158   isaiah
02-25   953   SiCMOS
02-22   1238   °æ¹ÚÇѽùÎ
02-07   2239   ÇãÀα¸¸¶Æ¾
02-06   2224   2¹ÎÈ£
02-06   1657   ÀӹαÔ
02-06   1758   ǰÁúÀÌ
01-22   2623   ǰÁúÀÌ
01-18   3145   2¹ÎÈ£
01-06   2579   motu
01-05   2556   ±¸Â÷´Ï
01-03   2886   touch
2025-12   3664   isilentwind
2025-12   3880   È­Á¤Å¥»ï
2025-11   8393   bin1016
2025-11   5072   TubeAmp
2025-11   5459   ¿ÕÃʺ¸¿Õ
2025-11   5070   ¿ÕÃʺ¸¿Õ
2025-11   5368   motu