
/IO初始化/ RCC->APB2ENR |= 0x0000001D; //使能GPIOA、GPIOB、GPIOC和AFIO AFIO->MAPR &= 0xF8FFFFFB; AFIO->MAPR |= 0x02000000; //开启SW-DP,关闭JTAG-DP AFIO->MAPR |= 0x00000004; //USART1映射至PB6、PB7 我的部分代码如上,主要功能是对SW-DP和USART1进行重映射,但是在AFIO->MAPR |= 0x01000000;这一句出现了错误。 我想要实现启用SW-DP和关闭JTAG-DP,应该写入010,但是写入该行后,却变成了100,如下图: 这就导致我的调试窗口直接断开了连接。 而且我用库函数LL_GPIO_AF_Remap_SWJ_NOJTAG();写入时也是一样的情况,其次我写入001时,也会变成010。 但是AFIO->MAPR |= 0x00000004;这行却不会出现类似问题。 所以不知道是怎么回事,想请教一下各位大佬。 |
STM32 GPIO 开漏,NMOS 导通能承受多大电流
STM32F103长时间运行,串口发送失败
STM32G474 BOOST电路双环PID的用法
foc2.0函数SVPWM_3ShuntCalcDutyCycles看不明白
stm32f103c8t6:没有对flash进行任何操作,flash的内容发生变化了。具体是哪些原因?如何调试排查原因。
STM32F103C8T6 TIM1 CH2输入捕获触发DMA的问题
STM32会存在单个IO口坏掉的情况吗?
STM32F103RET6 FLASH擦除失败问题
6.28周六签到打卡
请问有stm32f103驱动无刷电机的学习资料吗,找了很久都没有找到
[md]虽然这个解决了读取值与写入值不一样的问题,但是没有解决为什么写入010,会导致调试退出问题
该寄存器的这3个位是只写的,所以你按照寄存器的定义正确写入即可。
不过,根据我刚才测试来看,按照下面做法似乎可以读。
Value_Mapr0]= AFIO->MAPR ;
Value_Mapr1]= AFIO->MAPR ;
Value_Mapr2]= AFIO->MAPR ;
这三个位确实不可以读,我就算设置的时010,读回来的还是100,好像会左移一位;其次在写入的时候,很容易出错,如果没有按照正确的方式写入,就算写入的是010,也会出现调试断开的情况;
代码所示有两种写入方法,写入数据都是一样的,但是如果用注释里面的代码进行写入,就会写入出错,出现调试断开的情况。我百思不得其解,你也可以试一下。