ch579串口编程笔记

"CH579SFR.h"库文件,关于串口中断部分

/* UART interrupt identification values for IIR bits 3:0 */

#define UART_II_SLV_ADDR 0x0E // RO, UART0 slave address match

#define UART_II_LINE_STAT 0x06 // Re staO, UART interrupt by receiver lintus

#define UART_II_RECV_RDY 0x04 // RO, UART interrupt by receiver data available

#define UART_II_RECV_TOUT 0x0C // RO, UART interrupt by receiver fifo timeout

#define UART_II_THR_EMPTY 0x02 // RO, UART interrupt by THR empty

#define UART_II_MODEM_CHG 0x00 // RO, UART0 interrupt by modem status change

#define UART_II_NO_INTER 0x01 // RO, no UART interrupt is pending

名称 说明 解释
UART_II_SLV_ADDR 0x0E RO, UART0 slave address match 只读,串口0从机地址匹配
UART_II_LINE_STAT 0x06 Re staO, UART interrupt by receiver lintus 只读,串口
UART_II_RECV_RDY 0x04 RO, UART interrupt by receiver data available 只读,
UART_II_RECV_TOUT 0x0C RO, UART interrupt by receiver fifo timeout 只读,
UART_II_THR_EMPTY 0x02 RO, UART interrupt by THR empty 只读,
UART_II_MODEM_CHG 0x00 RO, UART0 interrupt by modem status change 只读,
UART_II_NO_INTER 0x01 RO, no UART interrupt is pending 只读,
[参数解释]

接收长字符串

CH57x_uart.h中修改提供代码如下

红圈部分根据芯片说明书修改为如下

objectivec 复制代码
typedef enum
{
    UART_1BYTE_TRIG = 0,        // 1×Ö½Ú´¥·¢
    UART_2BYTE_TRIG = 1,            // 2×Ö½Ú´¥·¢
    UART_4BYTE_TRIG = 2,            // 4×Ö½Ú´¥·¢
    UART_7BYTE_TRIG = 3,            // 7×Ö½Ú´¥·¢
    
}UARTByteTRIGTypeDef;   

初始化UART1

文件CH57x_uart.c中修改为1字节触发。

测试结果

相关推荐
江安的猪猪1 小时前
大连理工大学选修课——机器学习笔记(5):EM&K-Means
笔记·机器学习·kmeans
wynn11231 小时前
Wireshark使用教程
arm开发·测试工具·wireshark
我命由我123452 小时前
STM32 开发 - stm32f10x.h 头文件(内存映射、寄存器结构体与宏、寄存器位定义、实现点灯案例)
c语言·开发语言·c++·stm32·单片机·嵌入式硬件·嵌入式
xyd陈宇阳2 小时前
嵌入式开发高频面试题全解析:从基础编程到内存操作核心知识点实战
c语言·数据结构·stm32·算法·面试
敲敲敲-敲代码2 小时前
【空间数据分析】缓冲区分析--泰森多边形(Voronoi Diagram)-arcgis操作
笔记·arcgis
kukuwawu2 小时前
基因组注释笔记——GeneMark-ES/ET的使用
经验分享·笔记·学习·bash·基因注释
北漂老男孩3 小时前
远程 Debugger 多用户环境下的用户隔离实践
java·笔记·学习方法
wusixuan1310043 小时前
树的序列化 - 学习笔记
笔记·学习
泽克4 小时前
1.5 城镇道路工程安全质量控制
笔记
爱码小白4 小时前
UI设计之photoshop学习笔记
笔记·学习