STM8库函数开发手册(3) //UART1、内部EEPROM、FLASH操作库、IIC(硬、软)

本文详细介绍了STM8S微控制器的UART1库函数,包括初始化、中断配置和数据收发等。同时,讲解了内部EEPROM和FLASH的操作,如擦除、编程和读取。此外,还涵盖了硬件IIC的初始化和模拟IIC通信,以及AT24CXX的模拟IIC通讯示例。
摘要由CSDN通过智能技术生成

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库函数

v2-36e64255c9522b146f83eb763dd676fd_b.jpg
  1. UART1_DeInit //恢复UART1寄存器到默认值

v2-d40f022033f21c168bf577c53f8a356b_b.jpg

2. UART1_Init(BaudRate,WordLength,StopBits,Parity,SyncMode,Mode)

//初始化UART1

v2-04e7c715bfc363c96f3091d792002775_b.jpg

其中:

①、BaudRate 可选常用波特率 例如:9600 115200

②、WordLength 字长 可选:

v2-00ae62980a861b91039a97bcca5f6500_b.jpg

③、StopBits 停止位 可选:

v2-9d7ce43e49c9c04a54c50f7dd721a9ca_b.jpg

④、Parity 校验位 可选:

v2-42b8349ddba1caa8446854ae58277774_b.jpg

⑤、SyncMode 同步模式 :

v2-9d000f0199074ee0b990aa622c4b1628_b.jpg

⑥、Mode 模式:

v2-7788126a4e89c59264661c09f702ea28_b.jpg
        
          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

v2-cdd2e4c784e83a2d8cd6c3583970057f_b.jpg

4.UART1_ITConfig(UART1_IT, NewState) //UART1中断配置

v2-f432e7f13cd3388225aa42569d10f486_b.jpg

v2-dbbc08dbf7af32162bfc46f9bab38c20_b.jpg

5.UART1_HalfDuplexCmd() //启用或者关闭UART1半双工通信

v2-060fd42cde39a0a81c7b12c723f3e31d_b.jpg

6.UART1_IrDAConfig(UART1_IrDAMode) //配置红外低功耗模式

v2-2fe8b48e9515feacb98fe46b9f139ed7_b.jpg

v2-b751aaae0e5231cfc2a43cca322eb274_b.jpg

7. UART1_IrDACmd(FunctionalState NewState) //启用或关闭红外功能

v2-46acb5bb3d8df264a15381cf764e95aa_b.jpg

8. UART1_LINBreakDetectionConfig(UART1_LINBreakDetectionLength)

//设置LIN断开符检测长度

v2-edf8ef50e695e98c16334c6a0f05f886_b.jpg

v2-e33c671786cf82b091a7748bda5f65ec_b.png

9. UART1_LINCmd(NewState) //启用或者关闭LIN模式

v2-ba4e7accb1a5fb8810563cec9c6c9f3e_b.jpg

10. UART1_SmartCardCmd(NewState) //启用或者关闭智能卡模式

v2-3151c502ef08b6da0c166aad37177192_b.jpg

11. UART1_SmartCardNACKCmd(NewState) //启用或者关闭智能卡NACK

v2-decf8706ccd84ae08ea179125f40ce12_b.jpg

12.UART1_WakeUpConfig(UART1_WakeUp) //设置唤醒方式

v2-33d74554348d469e0ec0a403b58b7764_b.jpg

v2-c1854c96f7a72f21bc2a482cc42fc887_b.jpg

13. UART1_ReceiverWakeUpCmd(NewState) //启用或者关闭接收唤醒

v2-a3e1d5e2d4096799942b6cc0e3872564_b.jpg

14. UART1_ReceiveData8() //接收一个8位的数据

v2-be3df2e4efe192eb047a39b6e91394a1_b.jpg
        u8 u8_data;
u8_data = UART1_ReceiveData8();
      

15.UART1_ReceiveData9() //接收一个9位的数据

v2-b29aaaf8cbd747b6eef384795de16897_b.jpg
        u16 u16_data;
u16_data = UART1_ReceiveData9();
      

16.UART1_SendData8(u8 Data) //发送一个8位的数据

v2-2886d7bf0288109787fad9aa619e9d0e_b.jpg
        
          UART1_SendData8
          (
          0x00
          );
        
      

17.UART1_SendData9(u16 Data) //发送一个9位的数据

v2-0b523c65567eb2ad7e6b2403792ad67d_b.jpg

18.UART1_SendBreak() //发送断开帧

v2-f9f10f39dbbb168c7b4fdb304e9154ab_b.jpg

19.UART1_SetAddress(u8 UART1_Address) //设置UART1的节点的地址

v2-b6770bf892624cee19b834bacb4b40fe_b.jpg

20.UART1_SetGuardTime(UART1_GuardTime) //设置UART1的保护时间

v2-51dd456ddf436858b7a6f01f58f35891_b.jpg

21.UART1_SetPrescaler(u8 UART1_Prescaler) //设置分频值</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值