DMA 原理从 0 到 1:为什么它能解放 CPU?一文讲透 DMA 的工作流程
【福利三:雨露均沾·逢7狂欢】之五:STM32系统时钟PLL故障排除1例
【福利三:雨露均沾·逢7狂欢】之三:AI帮我查BUG
福利三:雨露均沾·逢7狂欢】之二:STM32F407VG串口通信乱码故障的排除
基于STM32F103的I2C主从机通信
OpenBLT移植到STM32F103战舰开发板上适用于所有STM32F103系列的Bootloader
TFT LCD 与 FSMC 的硬件连接大容量 STM32F10xxx FSMC 接口
单片机:初学者该了解的STM32F103基础知识
2025软件工具兔哥知道
STM32之继电器模块
微信公众号
手机版
不好意思,今天刚刚看到,您的问题解决了吗。
这个似乎不难,利用全局查找私有代码,将所有UART2 / USART2相关的代码,改成UART3 / USART3试一试。
改动的代码:
DAP_Config.h:
#define SWO_UART 0) c) j) a3 ]7 S- d" G" j- Y
5 w* O# ]7 z r# u/ C& h
#define USART_CDC_CLOCK(state) RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, state)
#define USART_CDC_GPIO_CLOCK(state) RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, state)6 o/ B ]) p6 a! }5 g% c+ w
#define USART_CDC_REMAP() /* GPIO_PinRemapConfig(..., ENABLE) */
' Q" C. p/ g: u' O& X, g
#define USART_CDC_PORT 1 //USART1
#define USART_CDC_GPIO GPIOA+ m: L8 x5 P* h
#define USART_CDC_TX_PIN_MASK GPIO_Pin_9. H% _6 h2 S! M) d+ Y* b( H
#define USART_CDC_RX_PIN_MASK GPIO_Pin_10
#define USART_CDC_IRQn USART1_IRQn+ F4 |" G+ N* T- }
#define USART_CDC_IRQHandler USART1_IRQHandler
#define USART_CDC_BUFFER_SIZE (1024) /* Size of Receive and Transmit buffers MUST BE 2^n */7 J: {2 y9 M2 Z3 }, Q% `+ x3 m
; z8 @; I( d5 l. O. \% @
#define PIN_USB_CONNECT_RCC RCC_APB2ENR_IOPAEN9 K, o, o8 b+ c3 V* |
#define PIN_USB_CONNECT_PORT GPIOA" v9 C. p4 P( {* U1 k0 K- D
#define PIN_USB_CONNECT_PIN 8
+ N8 [7 P ]+ ^+ o) v) M0 m
// TDI Pin (output)
#define PIN_TDI_PORT GPIOA
#define PIN_TDI_PIN 79 }1 n+ t' k1 w: m" v8 d, d
// SWDIO/TMS Pin) N5 U4 j# Z9 C4 P
#define PIN_SWDIO_TMS_PORT GPIOA
#define PIN_SWDIO_TMS_PIN 1# H2 a7 D: ?6 Z$ Q: G) w1 P J, |
" U/ \/ B* F1 A x0 X7 c
// SWCLK/TCK Pin
#define PIN_SWCLK_TCK_PORT GPIOA4 X7 `6 ]8 B5 z
#define PIN_SWCLK_TCK_PIN 5: j, K8 B+ e1 q) \0 J' e A
// TDO/SWO Pin (input) //remap USART1_Rx_Pin to PB7 for SWO
#define PIN_TDO_PORT GPIOB
#define PIN_TDO_PIN 7& Y% N u' U3 }* D2 E/ d- N
// nRESET Pin
#define PIN_nRESET_PORT GPIOB
#define PIN_nRESET_PIN 0
因为串口1的Rx线被SWO/TDO占用了。
这个,我只能给一点提示,因为没有试过,没有办法具体说出正确的改动方法。9 A; x' z+ C" F# T! [
由于SWO/TDO的引脚PB7,使用了USART1的Rx线的功能,您要改动VCP使用USART1,就要把SWO/TDO搬到USART2的Rx线去,或者禁止SWO和JTAG功能。 需要改动的地方比较多。
" c$ |* p" Q3 {' o& @
如果,不想麻烦,建议另买一块Bluepill小板(研究源码),或者STLINKv2的山寨仿真器刷DAP(这个实用),都是十多元钱事儿。
好的,我再研究下,谢谢回复,主要是想废物利用下
大佬,是我的板子芯片问题吗,我用好的DAPLINK给这个蓝色板子刷了好几个DAPlin固件都是不能在KEIL中识别到,但是电脑可以显示出U盘,和硬件管理那可以显示出串口,可以用疮口下载,就是不能在keil中识别,买了两块最小系统板板子都不能识别,有一个板子还是在优信买的。折腾了好久都没成功,怀疑是不是芯片问题
linking...0 n' x$ t4 P, _% D3 z9 l2 \
.\CMSIS-DAP\CMSIS_DAP.axf: Error: L9937E: RL-ARM is not allowed with this license" G5 x3 `# W+ u N7 z& c
.\CMSIS-DAP\CMSIS_DAP.axf: Error: L9937E: RL-ARM is not allowed with this license W4 m) }9 M7 u0 G% o/ L
.\CMSIS-DAP\CMSIS_DAP.axf: Error: L9937E: RL-ARM is not allowed with this license
.\CMSIS-DAP\CMSIS_DAP.axf: Error: L9937E: RL-ARM is not allowed with this license
.\CMSIS-DAP\CMSIS_DAP.axf: Error: L9937E: RL-ARM is not allowed with this license
用MDKv5.xx试一试,安装MDKv4兼容包。