void Init_UART1(void)
{
CLK_PCKENR1 |= 0X04; //使能USART1时钟
UART1_CR1=0x00;
UART1_CR2=0x00;
UART1_CR3=0x00;
// 必须先写BRR2
// 例如对于波特率位115200时,分频系数=16000000/115200=139
// 对应的十六进制数为008B,BBR1=08,BBR2=0B
UART1_BRR2=0x0B;
UART1_BRR1=0x08;
UART1_CR2=0x2c;//允许接收,发送,开接收中断
}
void SendChar(u8 dat)
{
while((UART1_SR & 0x80)==0x00);
UART1_DR = dat;
}
main()
{
u8 a[] = {0x5A,0xA5,0x08,0x83,0x00,0x18,0x01,0x04,0x57,0x0b,0xb6};
u8 i;
Init_UART1();
for(i=0; i<11; i++)
{
SendChar(a[i]);
}
}
对楼主笑而不语
|