各位有没有遇到下面情况stm8s003f开启UART后eeprom读写不起作用
void EEPROM_INIT(void)
{
FLASH_DeInit();
FLASH_Unlock(FLASH_MEMTYPE_DATA);
FLASH_SetProgrammingTime(FLASH_PROGRAMTIME_STANDARD);
}
void UART_Init(void)
{
GPIO_Init(GPIOD, (GPIO_Pin_TypeDef)GPIO_PIN_6, GPIO_MODE_IN_FL_NO_IT);
UART1->CR2 = 0x00;//disable
UART1->CR1 = 0x00; //8bit
UART1->CR3 = 0x00;//1 stop bit
UART1->BRR2 = 0x0b;
UART1->BRR1 = 0x08;//4800 baud rate
UART1->CR2 = 0x2c;//enable REN and RIEN
}
void main(void)
{
EEPROM_INIT();
UART_Init();
enableInterrupts();
..
..
...
}
EEPROM在读写的时候是不能再做其他事情的。所以你在EE读写时,把中断关了。最好不要用这个来读写。很不好用。我以前用过一次,就不用了。
解决了 ,程序没问题啊。芯片的问题。换了一个ic就好了