×
嵌入式 > 技术百科 > 详情

STM8 UART

发布时间:2020-06-03 发布时间:
|
STM8的UART功能强大,除了常规的串口异步通讯外,还拥有LIN主模式、红外编解码器、智能卡模拟等功能。新手还是从基本的串口通讯入手,那些高级功能等熟练以后再慢慢研究吧。
#i nclude
void CLK_init(void)
{
  CLK_CKDIVR = 0x08;         // 16M内部RC经2分频后系统时钟为8M
}
void UART3_init(void)
{
  UART3_BRR2 = 0x01;         // 设置波特率9600
  UART3_BRR1 = 0x34;         // 8M/9600 = 0x341
  UART3_CR2 = 0x2C;          // 允许接收中断,允许接收,允许发送
}
#pragma vector=UART3_R_RXNE_vector
__interrupt void UART3_RX_RXNE(void)
{
  unsigned char c;
  c = UART3_DR;          // 接收到数据了
  while(!UART3_SR_TXE);
  c++;                              // 把接收到的数据加1
  UART3_DR = c;         // 再发回去,为什么这么做?在电脑上串口调试软件里发1就收到2,发A就收到B,看运行结果比较方便
}
void init_devices(void)
{
  asm("sim");  // 关全局中断
  CLK_init();
  UART3_init();  // 开发板上的串口接的是UART3,刚开始想当然的认为UART1,浪费我半个小时
  asm("rim");  // 开全局中断
}
void main( void )
{
  init_devices();
// 主循环里没有程序需要执行
  while(1);
}
 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
激光跟踪仪市场2023年有望达5.216亿美元