![shequ.stmicroelectronics.cn](./template/st_v1/static/img/logo2.png)
【MCU实战经验】+STM32F103的uCOSII详细移植
STM32固件库分享,超全系列整理
【原创】STM32F103的SPI2的配置函数,DMA发送和接收!
【福利】用STM32库的朋友有福了:STM32F10x_StdPeriph_Lib_V3.5.0chm...
基于STM32F103做CAN的收发通信经验分享
小马哥STM32F103开源小四轴RoboFly全部资料大放送
【管管推荐】STM32经验分享篇
【MCU实战经验】+STM32F107的USB使用
基于STM32F103两轮平衡小车设计(开源)
STM32F107VCT6官方原理图和PCB
不好意思,今天刚刚看到,您的问题解决了吗。
这个似乎不难,利用全局查找私有代码,将所有UART2 / USART2相关的代码,改成UART3 / USART3试一试。
改动的代码:
DAP_Config.h:
#define SWO_UART 0
9 n+ K! u1 I; E0 l7 a
#define USART_CDC_CLOCK(state) RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, state)6 M3 h3 j- ~+ c4 R
#define USART_CDC_GPIO_CLOCK(state) RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, state)- O6 I9 e" L' o, r9 a. s$ C0 ]$ H
#define USART_CDC_REMAP() /* GPIO_PinRemapConfig(..., ENABLE) */
; c1 o3 j. S$ w: x
#define USART_CDC_PORT 1 //USART1
#define USART_CDC_GPIO GPIOA
#define USART_CDC_TX_PIN_MASK GPIO_Pin_99 M0 S8 U' q- F$ p
#define USART_CDC_RX_PIN_MASK GPIO_Pin_10- u) l4 f1 Z. q( b4 {. E
#define USART_CDC_IRQn USART1_IRQn
#define USART_CDC_IRQHandler USART1_IRQHandler
#define USART_CDC_BUFFER_SIZE (1024) /* Size of Receive and Transmit buffers MUST BE 2^n */
) f% a8 L% ~/ `( S7 K
#define PIN_USB_CONNECT_RCC RCC_APB2ENR_IOPAEN6 z" x6 u2 H) X/ D* p* l& V
#define PIN_USB_CONNECT_PORT GPIOA
#define PIN_USB_CONNECT_PIN 8
# B6 J8 U) Z( ^5 T$ G s
// TDI Pin (output)
#define PIN_TDI_PORT GPIOA
#define PIN_TDI_PIN 7
// SWDIO/TMS Pin8 n W& S" N- m; z: N/ \+ |
#define PIN_SWDIO_TMS_PORT GPIOA" l0 K) I: ~( y( ?# B
#define PIN_SWDIO_TMS_PIN 1* I+ t7 {$ I6 K" f6 d0 x/ q
1 F/ i: {# u- [6 ^0 }
// SWCLK/TCK Pin
#define PIN_SWCLK_TCK_PORT GPIOA
#define PIN_SWCLK_TCK_PIN 5
! [% Y% L% a- g; i/ w3 |8 Y5 d
// TDO/SWO Pin (input) //remap USART1_Rx_Pin to PB7 for SWO
#define PIN_TDO_PORT GPIOB
#define PIN_TDO_PIN 7
9 M2 j* o- l9 L0 _9 H4 N
// nRESET Pin
#define PIN_nRESET_PORT GPIOB6 K* e) I% T( l: }2 B" O7 d: ?- |
#define PIN_nRESET_PIN 01 p/ W5 W6 u4 m, m a
因为串口1的Rx线被SWO/TDO占用了。
这个,我只能给一点提示,因为没有试过,没有办法具体说出正确的改动方法。& L( {0 a+ a2 i, X. e
+ ?1 N) v' E/ b, H
由于SWO/TDO的引脚PB7,使用了USART1的Rx线的功能,您要改动VCP使用USART1,就要把SWO/TDO搬到USART2的Rx线去,或者禁止SWO和JTAG功能。 需要改动的地方比较多。- O5 t2 Q" Q5 F0 y0 _9 R! S1 t3 q
如果,不想麻烦,建议另买一块Bluepill小板(研究源码),或者STLINKv2的山寨仿真器刷DAP(这个实用),都是十多元钱事儿。7 Y4 f2 k- @' r0 R7 R9 x$ m
好的,我再研究下,谢谢回复,主要是想废物利用下
大佬,是我的板子芯片问题吗,我用好的DAPLINK给这个蓝色板子刷了好几个DAPlin固件都是不能在KEIL中识别到,但是电脑可以显示出U盘,和硬件管理那可以显示出串口,可以用疮口下载,就是不能在keil中识别,买了两块最小系统板板子都不能识别,有一个板子还是在优信买的。折腾了好久都没成功,怀疑是不是芯片问题