本帖最后由 chenjiabao 于 2016-12-4 20:16 编辑
#include "stm8s.h"
#include "led.h"
#include "delay.h"
void UART1_Init(void)
{
UART2->BRR2=0x01;//00-0d:9600(fcpu=fmaster=2MHz)
UART2->BRR1=0x34;//00-1a:4800; 01-34:2400
UART2->CR2=0x2c;
}
main()
{
uint8_t i = 0;
CLK->CKDIVR = 0x18;//2MHz
UART2_Init();
LED_Init();
LED_ON();
while (1)
{
if (i >= 16)
{
i = 0;
}
while(!(UART2->SR & 0x80));//发送寄存器数据是否转移完
UART2->CR2 |= 0x00;
UART2->DR=i; //要发送的数据
UART2->CR2 |= 0x08; //
while((UART2->SR & 0x40) == 0);//发送是否完成
LED_REVERSAL();
delay_ms(200);
}
}
电脑上收到的就是0xFF。不变
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
如果采用固件库的话,固件库里的初始化则没看到对发送和接收的管脚进行初始化,这?
一周热门 更多>