STM8S 微控制器家族的通用同步异步收发器(UART1,UART2 或者UART3)提供了一种灵活的方法与使用工业标准NRZ 异步串行数据格式的外部设备之间进行全双工数据交换。STM8 的UART 提供范围的波特率选择,并且支持多处理器通讯。UART 也支持LIN(局部互联网)协议版本1.3,2.0,和2.1 以及在主模式下的J2602。
UART1 和UART2 具有以下扩展特征:UART2 和UART3 支持LIN 从模式。UART1 和UART2 支持同步单向通讯,也支持智能卡协议和IrDA 规范。UART1 支持半双工单线通讯。
第一部分 UART1库函数
- UART1_DeInit //恢复UART1寄存器到默认值
2. UART1_Init(BaudRate,WordLength,StopBits,Parity,SyncMode,Mode)
//初始化UART1
其中:
①、BaudRate 可选常用波特率 例如:9600 115200
②、WordLength 字长 可选:
③、StopBits 停止位 可选:
④、Parity 校验位 可选:
⑤、SyncMode 同步模式 :
⑥、Mode 模式:
UART1_Init
((
u32
)
9600
,
UART1_WORDLENGTH_8D
,
UART1_STOPBITS_1
,
UART1_PARITY_NO
,
UART1_SYNCMODE_LASTBIT_ENABLE
,
UART1_MODE_RX_ENABLE
);
3.UART1_Cmd(NewState) //启用或者关闭UART1
4.UART1_ITConfig(UART1_IT, NewState) //UART1中断配置
5.UART1_HalfDuplexCmd() //启用或者关闭UART1半双工通信
6.UART1_IrDAConfig(UART1_IrDAMode) //配置红外低功耗模式
7. UART1_IrDACmd(FunctionalState NewState) //启用或关闭红外功能
8. UART1_LINBreakDetectionConfig(UART1_LINBreakDetectionLength)
//设置LIN断开符检测长度
9. UART1_LINCmd(NewState) //启用或者关闭LIN模式
10. UART1_SmartCardCmd(NewState) //启用或者关闭智能卡模式
11. UART1_SmartCardNACKCmd(NewState) //启用或者关闭智能卡NACK
12.UART1_WakeUpConfig(UART1_WakeUp) //设置唤醒方式
13. UART1_ReceiverWakeUpCmd(NewState) //启用或者关闭接收唤醒
14. UART1_ReceiveData8() //接收一个8位的数据
u8 u8_data;
u8_data = UART1_ReceiveData8();
15.UART1_ReceiveData9() //接收一个9位的数据
u16 u16_data;
u16_data = UART1_ReceiveData9();
16.UART1_SendData8(u8 Data) //发送一个8位的数据
UART1_SendData8
(
0x00
);
17.UART1_SendData9(u16 Data) //发送一个9位的数据
18.UART1_SendBreak() //发送断开帧
19.UART1_SetAddress(u8 UART1_Address) //设置UART1的节点的地址
20.UART1_SetGuardTime(UART1_GuardTime) //设置UART1的保护时间
21.UART1_SetPrescaler(u8 UART1_Prescaler) //设置分频值</