其中PD4是发送接收选择,我依次发送1,2,3...9 串口调试助手接收到的是7F,3F,7E,1F等。这是为什么啊?
void uart_init()
{
UART3_CR1=0x00;
UART3_CR2=0x00;
UART3_CR3|=0x00;
UART3_BRR2=0x00;
UART3_BRR1=0x0D;
UART3_SR=0;
UART3_CR2=0x01;//接收发送中断使能
}
void main( void )
{
unsigned char temp;
temp=1;
//启用内部高速晶振2MHz
CLK_ICKR|=0x01; //开启内部HSI
while(!(CLK_ICKR 0x02));//HSI准备就绪
CLK_SWR=0xe1; //HSI为主时钟源
CLK_CKDIVR=0x18; //2Mhz
asm("rim");
uart_init();
PD_DDR_DDR4=1;
PD_CR1_C14=1;
PD_CR2_C24=0;
PD_ODR_ODR4=1; //默认为发送有效
while(1)
{
UART3_CR2=0x00;//a处
UART3_DR=temp;//要发送的数据
UART3_CR2=0x08;//b处
temp++;
while(!UART3_SR 0X80);
}
}
2024-4-28 09:32:37
先看一下TXD的波形,连续发0x55,看一下波特率对不对。
先看一下TXD的波形,连续发0x55,看一下波特率对不对。
举报