搜索
bottom↓
回复: 7

STM32F042G6移植USB CDC例程教學

[复制链接]

出0入0汤圆

发表于 2014-11-17 23:33:43 | 显示全部楼层 |阅读模式
本帖最后由 ul4 于 2014-11-18 00:15 编辑

STM32F042G6有32KB flash, 6KB ram, QFN-28(4x4mm)
可以用内部高精度48MHz RC(HSI48)直接驱动USB,从此不用外部晶振!
个人认为十分适合拿来做USB应用

但是因为low pin count的缘故
ST在20及28pin的STM32F042中将PA11/12与PA9/10这两组接脚做了复用
Pin pair PA11/12 can be remapped instead of pin pair PA9/10 using the SYSCFG_CFGR1 register

因为USB接脚对应至PA11/12,所以我们使用前必须先做切换
顺带一提启用CAN也要切换IO

由于ST目前还没有针对STM32F042提供例程
所以要从STM32F072的例程来修改:
基于ST例程STM32F0x2_USB-FS-Device_Lib V1.0.0的Virtual_COM_Port
添加了两行
app.c
  1. int main(void)
  2. {
  3.   /*!< At this stage the microcontroller clock setting is already configured,
  4.   this is done through SystemInit() function which is called from startup
  5.   file (startup_stm32f072.s) before to branch to application main.
  6.   To reconfigure the default setting of SystemInit() function, refer to
  7.   system_stm32f0xx.c file
  8.   */  

  9.        
  10.   /*The SYSCFG registers can be accessed only when the SYSCFG
  11.   interface APB clock is enabled.
  12.   To enable SYSCFG APB clock use:
  13.   RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE).*/
  14.   RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE);


  15.   /*!< PA11 and PA12 remapping bit for small packages (28 and 20 pins).
  16.   0: No remap (pin pair PA9/10 mapped on the pins)
  17.   1: Remap (pin pair PA11/12 mapped instead of PA9/10) */
  18.   SYSCFG->CFGR1 |= SYSCFG_CFGR1_PA11_PA12_RMP;

  19.   /* The Application layer has only to call USBD_Init to
  20.   initialize the USB low level driver, the USB device library, the USB clock
  21.   ,pins and interrupt service routine (BSP) to start the Library*/
  22.   USBD_Init(&USB_Device_dev,
  23.             &USR_desc,
  24.             &USBD_CDC_cb,
  25.             &USR_cb);
  26.   
  27.   while (1)
  28.   {
  29.   }
  30. }
复制代码


最后别忘了去stm32072b_eval.c及stm32072b_eval.h修改USART的接脚定义
STM32F042G6没有port D!

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入4汤圆

发表于 2014-11-17 23:47:17 | 显示全部楼层
还有哪些型号有高精度内部RC振荡器?

出0入0汤圆

 楼主| 发表于 2014-11-18 00:05:24 | 显示全部楼层
目前好像有STM32F042, STM32F072, STM32F078, STM32L052, STM32L062, STM32L063系列

出0入90汤圆

发表于 2014-11-25 09:00:14 | 显示全部楼层
STM32F042好买吗?价格多少?

出0入0汤圆

发表于 2014-12-26 09:24:28 | 显示全部楼层
大神,STM32F042的例程请给我一份。

出0入0汤圆

发表于 2019-6-16 15:48:06 | 显示全部楼层
                学习

出0入0汤圆

发表于 2020-2-24 16:32:01 | 显示全部楼层
移植f072例程到f042g6没成功,还在找原因

出0入0汤圆

发表于 2020-6-4 13:14:38 | 显示全部楼层
试了大神的配置,还是不能枚举,usb一点反应也没有
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-26 07:52

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表