STM8S103飞线外接芯片,I2C不能得到slaveAddress应答,通讯失败。
测试标签123
IAR FOR ARM和IAR FOR STM8无法共存,
STM8L052,液晶内部电源怎么用?
STM8S105C6T6 UART2串口,能接收数据,不能发送数据
STM8S105K4 串口2 无奇偶校验,也能接收 偶校验的 数据
在STM8S的IAP使用中断和APP使用中断问题
STM8L151 SMBUS设计
STM8S103F复位异常
STM8L的LCD调试时不亮
微信公众号
手机版
STM8S103F3
问题出在,你初始化的是UART1相关寄存器,而你在使用时是用的UART2相关寄存器(看你的中断程序),STM8S103没有UART2
我用的是UART1; 函数名字是我从s105那边改过来的;不影响
现象是什么?MCU发数据乱码?只在115200下乱码?
恩,57600以下都可以,加大到115200就乱码了
/*
* 串口初始化
*/
void uart1_init(void)
{
UART1_Init(BAUD_RATE, UART1_WORDLENGTH_8D, UART1_STOPBITS_1, UART1_PARITY_NO,
UART1_SYNCMODE_CLOCK_DISABLE,UART1_MODE_TXRX_ENABLE);
UART1_ITConfig(UART1_IT_RXNE_OR, ENABLE);
enableInterrupts();
UART1_Cmd(ENABLE);
}
/*
* 串口发送一字节
*/
void usart1_send_byte(uc8 byte)
{
while (UART1_GetFlagStatus(UART1_FLAG_TXE) == RESET)
;
UART1_SendData8(byte);
}
/* 中断处理函数 */
INTERRUPT_HANDLER(UART1_RX_IRQHandler, 18)
{
uint8_t data;
if (UART1_GetITStatus(UART1_IT_RXNE)) {
data = UART1_ReceiveData8();
// TODO : 添加自己的代码,处理data
UART1_ClearITPendingBit(UART1_IT_RXNE);
}
}