使用STM32F103C8T6单片机尝试实现IAP程序,使用USART1来发送APP。在发送APP的时候串口进入中断,执行完USART_RX_BUF[USART_RX_CNT]=res;这句后进入HardFault_Handler死循环。
中断服务程序如下,原子大哥的例程:
u8 USART_RX_BUF[USART_REC_LEN] __attribute__ ((at(0X08003000)));
u16 USART_RX_CNT=0;
#define USART_REC_LEN 20*1024
void USART1_IRQHandler(void)
{
u8 res;
if(USART_GetITStatus(USART1,USART_IT_RXNE))
{
res=USART_ReceiveData(USART1);
if(USART_RX_CNT<USART_REC_LEN)
{
USART_RX_BUF[USART_RX_CNT]=res;
USART_RX_CNT++;
}
}
}
HardFault_Handler死循:
void HardFault_Handler(void)
{
while (1)
{
}
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
往flash里面存数据需要特殊的操作的 需要先flash_unlock 然后好多操作呢,有一个例程 实验32 FLASH模拟EEPROM实验 是专门讲往flash存数据的
我知道了。主要是对原子哥的程序没太看懂,你这么一说,我大概知道问题出在哪儿了。我再去看看程序吧,谢谢!
一周热门 更多>