初级会员

- 积分
- 128
- 金钱
- 128
- 注册时间
- 2016-11-11
- 在线时间
- 20 小时
|
10金钱
本帖最后由 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。不变
|
|