STM32固件库分享,超全系列整理
小马哥STM32F103开源小四轴RoboFly全部资料大放送
【管管推荐】STM32经验分享篇
【MCU实战经验】+STM32F107的USB使用
基于STM32F103两轮平衡小车设计(开源)
STM32F107VCT6官方原理图和PCB
【福利】用STM32库的朋友有福了:STM32F10x_StdPeriph_Lib_V3.5.0chm...
基于STM32F10xx存储器和系统架构经验分享
基于STM32F1的CAN通信之BH1750
基于STM32F1的CAN通信之OLED
多串口VCP,我没有试过。
楼主,这几天在看你的程序,现在才发现有一个STLINK_V2A的程序。那这个程序是不是能适用于ST-LINK/v2下载器(就是在正点原子买的那个白色的下载器)??引脚都是一样的吗??我看那个ST-LINK原理图的T_JTCK分别有两个引脚接入(PA5、PB13)??T_SWDIO_IN和T_JTMS串联了一个100R电阻??
我的程序里面的STLINK_2A/2B,都可以用于STLINKv2,有一个表格说明了区别,你可以试一试。
原STLINK使用两个GPIO引脚的,我的程序只用到其中的一个,不需要修改硬件。
大佬:& O* l4 x' a# S1 l
程序下载到st-link中运行成功了。真的谢谢楼主。。1 O, x8 T& g- ]2 s W. \1 g' B
LED闪烁的情况:
void SysTick_Handler(void)1 c6 `$ `+ ?4 O8 W M5 F O
{/ h. \. k3 M# V4 C( l# a
u8SysTick_Counter--;
//Connected LED
if (u8LedMode & 0x02) //Connected LED: 200ms on/off for CDC, fast4 d+ a9 o! V A6 |4 V
{: m! O7 N8 _* h% u/ L. M
u8LedMode &= ~0x02;) E8 s) ~5 d' z, z; K
. Q4 i+ E2 f7 x4 l2 W! u& x h$ o$ L
if (u8SysTick_Counter & 0x01) {
LedConnectedOn();( f0 O8 ]$ @7 k6 j3 \
}
else
LedConnectedOff();
}
else
{ ( \, t. M0 @( q& }: R6 P
if ((u8SysTick_Counter & 0x07) == 0) //Connected LED: 200ms on, 1400ms off, slower; ^$ b2 p* U7 i/ k3 z
LedConnectedOn();2 N( _% j% A5 [
else7 \3 M/ `, V0 ~- I. S3 l
LedConnectedOff();; l E* a# X3 e& t5 a: `' N+ {8 a
}2 ~- o' L6 \" z2 J' @% P+ Z
4 ~/ p! V/ r; I t
//Running LED
if (u8LedMode & 0x01) //Running LED: 200ms on, 600ms off
{7 V% {' m0 ~% w+ I7 ~
if ((u8SysTick_Counter & 0x01) == 0)
LedRunningOn();& n/ {4 w5 a* ]1 @' `- h
else
LedRunningOff();9 ]4 |* D- F8 v+ t" }8 E
}* J n. V+ k ~
}
下载程序时,LED无法快闪??LedRunningOn和LedConnectedOn都是使用PA9引脚
正常,下载程序的时候,没有做特殊处理。6 Q; u( N; V7 U) b m, i
UART有数据传送的时候是快闪,并且还不在debug模式下。
好的,谢谢楼主。。。。。
我看看能不能改先....
pa2和pa3,调音台是雅马哈自主芯片,和单片机完全没有关系,为什么cdc能用。
因为我们这个CDC(准确的说法应该是叫做VCP)就是一个USB转UART的连接线。9 g0 d* }% S4 I- X. K
虽然CDC和DAP是由同一片MCU(STM32F103C8T6)实现的两个功能,走的是同一个USB口,但是这两个功能是完全独立的。可以单独使用。 你只连接PA2/PA3时,就可以单独使用其CDC(USB-UART)的功能。
因为USB库和VCP要使用ARM的RTE环境和Keil5+Keil4兼容包,那些文件是Keil下面自带的,所以不能用VisualStudio来编译。
1.现在我想更改引脚,我使用的代码版本是PA13,PA14作为仿真器的两个引脚,现在想要更改引脚.我去掉C/C++头文件里面的SWD_REMAP这个宏后修改PIN_SWDIO_TMS_PIN这个宏仍然会导致下载一次程序后就无法下载程序的现象,您知道是什么原因吗?. ~- C9 W" f7 e. q" c! X8 a) R
2.请问usbd_init(); usbd_connect(__TRUE);这两句没办法跳到函数定义处,请问这是调用哪里的?
1. 全局搜索SWD_REMAP,它是重定义SWD的GPIO,看看什么地方没有照顾到的。
2. 应该是在USB_CM3.lib库文件的里面吧,没有源码可以跟踪。
好的,谢谢楼主的回复.