我用STM8S207C8T6写程序,开发环境IAR。
串口3往外发数据。
void Uart3_Initial(void)
{
UART3_DeInit();
UART3_Init((u32)115200, UART3_WORDLENGTH_8D, UART3_STOPBITS_1,
UART3_PARITY_NO , UART3_MODE_TXRX_ENABLE);
UART3_ITConfig(UART3_IT_RXNE_OR,ENABLE );
UART3_Cmd(ENABLE );
}
void UART3_SendByte(u8 data)
{
UART3_SendData8((unsigned char)data);
/* Loop until the end of transmission */
while (UART3_GetFlagStatus(UART3_FLAG_TXE) == RESET);
}
void main(void)
{
//asm("sim"); //先关闭总中断
u32 i;
u8 flag;
CLK_Config();
GPIO_DeInit(GPIOE);
GPIO_Init(GPIOE,GPIO_PIN_6 | GPIO_PIN_7,GPIO_MODE_OUT_PP_HIGH_SLOW);
GPIO_DeInit(GPIOA);
GPIO_Init(GPIOA,GPIO_PIN_3 | GPIO_PIN_6 ,GPIO_MODE_OUT_PP_HIGH_SLOW);
GPIO_DeInit(GPIOB);
GPIO_Init(GPIOB,GPIO_PIN_6 | GPIO_PIN_7,GPIO_MODE_IN_PU_NO_IT);
GPIO_DeInit(GPIOD);
GPIO_Init(GPIOD,GPIO_PIN_3 | GPIO_PIN_2,GPIO_MODE_OUT_PP_HIGH_SLOW);
Tim1_Init();
//__enable_interrupt();
//Uart1_Initial();
Uart3_Initial();
/* Infinite loop */
//asm("rim"); //打开总中断
while (1)
{
//Connect_NewData(); //?D??ê?·?μ?×?D?êy?Yé?′?ê±???úμ?
UART3_SendByte(0x55);
for(i=0;i<300000;i++);
}
}
本来发的是0x55,可是串口助手收到的却是1.
高手给看看,怎么回事?谢谢!
此帖出自
小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
谢谢!时钟配置的有问题。
一周热门 更多>