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:& Z/ P+ k/ p% G4 r3 x
#define SWO_UART 0
#define USART_CDC_CLOCK(state) RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, state)
#define USART_CDC_GPIO_CLOCK(state) RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, state)
#define USART_CDC_REMAP() /* GPIO_PinRemapConfig(..., ENABLE) */# `1 q5 l# |( t6 i9 ^1 \
. b8 m. J! V2 c* [
#define USART_CDC_PORT 1 //USART1
#define USART_CDC_GPIO GPIOA
#define USART_CDC_TX_PIN_MASK GPIO_Pin_9' y$ `! ^! S1 D/ k7 i5 ~* e
#define USART_CDC_RX_PIN_MASK GPIO_Pin_10
#define USART_CDC_IRQn USART1_IRQn& u+ k6 f5 v, A- {# @( q* i
#define USART_CDC_IRQHandler USART1_IRQHandler+ ~' s5 h5 B4 F6 c+ y& V
#define USART_CDC_BUFFER_SIZE (1024) /* Size of Receive and Transmit buffers MUST BE 2^n */
# C& f! [1 H5 T
[+ ~$ `9 Y' j) {6 x7 {3 L
#define PIN_USB_CONNECT_RCC RCC_APB2ENR_IOPAEN
#define PIN_USB_CONNECT_PORT GPIOA* u) X% r# H$ b _/ ~
#define PIN_USB_CONNECT_PIN 8
4 U4 U: b+ e6 u1 R- ^! [
// TDI Pin (output)5 t7 b- C% _9 V
#define PIN_TDI_PORT GPIOA3 A" U$ `+ r4 @1 F4 n; b$ u$ T
#define PIN_TDI_PIN 7
$ u% y m2 W' a2 P
// SWDIO/TMS Pin
#define PIN_SWDIO_TMS_PORT GPIOA
#define PIN_SWDIO_TMS_PIN 11 Y C7 h% Y' w% v$ v# B9 A `/ ?
// SWCLK/TCK Pin1 [, O2 t! E" g) T
#define PIN_SWCLK_TCK_PORT GPIOA
#define PIN_SWCLK_TCK_PIN 5% U6 |4 w$ p) r9 ?' a. I# o; I8 X5 A
0 @; W% K* }& w/ [: f9 W. S% ]
// TDO/SWO Pin (input) //remap USART1_Rx_Pin to PB7 for SWO
#define PIN_TDO_PORT GPIOB9 B+ w2 {8 t w' u% \( G: z
#define PIN_TDO_PIN 7
// nRESET Pin' Z& b3 c/ q$ S* i4 M% K& l) m ^4 U
#define PIN_nRESET_PORT GPIOB
#define PIN_nRESET_PIN 0- G5 \4 l0 v. i2 B; V2 o
8 Y( t6 I5 I2 e1 O. V
因为串口1的Rx线被SWO/TDO占用了。
这个,我只能给一点提示,因为没有试过,没有办法具体说出正确的改动方法。9 f8 Q+ E5 E9 \. G8 D* z
由于SWO/TDO的引脚PB7,使用了USART1的Rx线的功能,您要改动VCP使用USART1,就要把SWO/TDO搬到USART2的Rx线去,或者禁止SWO和JTAG功能。 需要改动的地方比较多。
$ O; O: k0 g4 K) M6 i( W
如果,不想麻烦,建议另买一块Bluepill小板(研究源码),或者STLINKv2的山寨仿真器刷DAP(这个实用),都是十多元钱事儿。
好的,我再研究下,谢谢回复,主要是想废物利用下
大佬,是我的板子芯片问题吗,我用好的DAPLINK给这个蓝色板子刷了好几个DAPlin固件都是不能在KEIL中识别到,但是电脑可以显示出U盘,和硬件管理那可以显示出串口,可以用疮口下载,就是不能在keil中识别,买了两块最小系统板板子都不能识别,有一个板子还是在优信买的。折腾了好久都没成功,怀疑是不是芯片问题
linking...
.\CMSIS-DAP\CMSIS_DAP.axf: Error: L9937E: RL-ARM is not allowed with this license% R7 h5 a2 b5 ?" M1 G! _- B3 |
.\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( E$ ]- f1 t+ j/ f! M2 Q( z
.\CMSIS-DAP\CMSIS_DAP.axf: Error: L9937E: RL-ARM is not allowed with this license: [8 C. d# o0 \& l* ~0 @6 M
.\CMSIS-DAP\CMSIS_DAP.axf: Error: L9937E: RL-ARM is not allowed with this license
用MDKv5.xx试一试,安装MDKv4兼容包。