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字节触发。

测试结果

相关推荐
piaoyiren4 分钟前
51单片机播放音乐
单片机·嵌入式硬件·51单片机
执迷不悟82313 分钟前
51单片机
单片机·嵌入式硬件·51单片机
CoderYanger34 分钟前
视频切割脚本(Python版)
linux·开发语言·windows·后端·python·程序人生·职场和发展
zjxtxdy40 分钟前
TIM输入捕获
单片机·嵌入式硬件
ljt27249606611 小时前
CPU:如何搭建完整可用计算机
人工智能·笔记
马里马里奥-1 小时前
大模型应用开发笔记03:LangChain 中间件实战
笔记·中间件·langchain
CoderYanger1 小时前
视频裁剪+缩放+自动添加水印脚本(Python版)
开发语言·后端·python·程序人生·职场和发展·音视频·学习方法
笑鸿的学习笔记1 小时前
操作系统笔记之CPU、寄存器、高速缓存、寻址总线的相对位置及寄存器,高速缓存区,内存,硬盘哪个快
笔记
Turbo正则1 小时前
机器学习入门笔记 | 基础算法及其应用场景
笔记·算法·机器学习
西城微科方案开发1 小时前
西城微科蓝牙电子秤PCBA方案设计
单片机·嵌入式硬件