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);
}
STM8 UART
STM8的UART功能强大,除了常规的串口异步通讯外,还拥有LIN主模式、红外编解码器、智能卡模拟等功能。新手还是从基本的串口通讯入手,那些…
声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/changshang/266145.html