新手上路
- 积分
- 34
- 金钱
- 34
- 注册时间
- 2015-12-26
- 在线时间
- 7 小时
|
问题描述:
1、BOOTLOADER程序和IAP程序都可以正确执行,也可以顺利跳转,之后开始执行IAP程序,定时中断可以执行,串口1可以发送数据,但是无法接收中断数据;
2、在Bootlader中跳转之前把所有中断关闭,
3、在IAP中,SCB->VTOR = FLASH_BASE | 0x10000;中断向量表也正确设置,开启总中断
__enable_irq();
RCC->APB1RSTR = 0x00000000;//复位结束
RCC->APB2RSTR = 0x00000000;
RCC->AHBENR = 0x00000014; //睡眠模式闪存和SRAM时钟使能.其他关闭.
RCC->APB2ENR = 0x00000000; //外设时钟关闭.
RCC->APB1ENR = 0x00000000;
RCC->CR |= 0x00000001; //使能内部高速时钟HSION
RCC->CFGR &= 0xF8FF0000; //复位SW[1:0],HPRE[3:0],PPRE1[2:0],PPRE2[2:0],ADCPRE[1:0],MCO[2:0]
RCC->CR &= 0xFEF6FFFF; //复位HSEON,CSSON,PLLON
RCC->CR &= 0xFFFBFFFF; //复位HSEBYP
RCC->CFGR &= 0xFF80FFFF; //复位PLLSRC, PLLXTPRE, PLLMUL[3:0] and USBPRE
RCC->CIR = 0x00000000; //关闭所有中断
4、发现论坛里很多人都遇到这样的问题,不是串口不发送,可中断接收,就是可以发送不接收中断数据,原子哥也没有给出很详细的解释
http://www.openedv.com/forum.php ... 2&highlight=IAP 这个连接和我遇到的问题一样,只是串口号不一样,我是串口1,他是串口3
|
|