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

   Á¶È¸ 3683   Ãßõ 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
2019-12   289   ¾Æ³ªº§°¡Åä
2025-02   329   Ŭ·¡½Ä
2018-06   335   eda2
04-13   439   TubeAmp
03-26   1535   motu
2020-03   1974   ¼¼¹ú½­
02-06   2356   ÀӹαÔ
2019-10   2513   ¼¼¹ú½­
02-06   2553   ǰÁúÀÌ
03-16   2657   starname
2019-05   2707   ¼¼¹ú½­
2019-05   2925   ¼¼¹ú½­
2020-02   3062   ¼¼¹ú½­
01-06   3192   motu
01-22   3345   ǰÁúÀÌ
2019-08   3364   ¼¼¹ú½­
01-03   3663   touch
01-05   3684   ±¸Â÷´Ï
2025-03   3764   ±èÂùÇ¥
2019-02   3812   ¼¼¹ú½­