|
芯片stc8h4k64TL。
不使用中断方式来发送和接收。
目前发数据都不行
void Uart3Init(unsigned long BaudRate)
{
GPIO_InitTypeDef GPIO_InitStructure; //结构定义
COMx_InitDefine COMx_InitStructure; //结构定义
UART3_SW(UART3_SW_P50_P51);
GPIO_InitStructure.Pin = UART3_RX_PIN | UART3_TX_PIN; //指定要初始化的IO, GPIO_Pin_0 ~ GPIO_Pin_7
GPIO_InitStructure.Mode = GPIO_PullUp; //指定IO的输入或输出方式,GPIO_PullUp,GPIO_HighZ,GPIO_OUT_OD,GPIO_OUT_PP
GPIO_Inilize(GPIO_P5,&GPIO_InitStructure); //初始化
COMx_InitStructure.UART_Mode = UART_8bit_BRTx; //模式, UART_ShiftRight,UART_8bit_BRTx,UART_9bit,UART_9bit_BRTx
COMx_InitStructure.UART_BRT_Use = BRT_Timer3; //选择波特率发生器, BRT_Timer1, BRT_Timer2 (注意: 串口2固定使用BRT_Timer2)
COMx_InitStructure.UART_BaudRate = BaudRate; //波特率, 一般 110 ~ 115200
COMx_InitStructure.UART_RxEnable = ENABLE; //接收允许, ENABLE或DISABLE
COMx_InitStructure.BaudRateDouble = DISABLE; //波特率加倍, ENABLE或DISABLE
UART_Configuration(UART3, &COMx_InitStructure); //初始化串口1 UART1,UART2,UART3,UART4
}
void Senddata(unsigned d)
{
while(!TI3){
;
}
CLR_TI3();
S3BUF = d;
}
void main(void)
{
unsigned char d = 0x31;
EAXSFR(); /* 扩展寄存器访问使能 */
Uart3Init(UART3_BaudRate);
while(1)
{
Senddata(d);
delay_ms(200);
delay_ms(200);
delay_ms(200);
delay_ms(200);
delay_ms(200);
delay_ms(200);
}
}
|
|