初级会员 
  
	- 积分
 - 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。不变 
 
 |   
 
 
 
 
 
 |