S32K148-uart
不好意思,上个星期因为项目和个人原因,落下一次博客分享。最近一直在搞上位机,之前用的CAN通讯做的上位机,现在因为项目原因换成modbus-rtu,所以就跟大家说说关于modbus协议中用到的uart口。
uart学名通用异步收发器
硬件不做阐述
软件通信协议重点关注几个方面:空闲位,起始位,数据位,奇偶校验位,停止位,波特率
S32K148配置过程
1)引脚配置,注意uart模块使能(专家系统自动给外设时钟使能)

2)uart配置


初始化代码:
uint8_t UART0_bufferIdx;
uint32_t UART0_bytesRemaining;
uint8_t UART0_ReceiveBuffer[200];
void UART0_init(void)
{
LPUART_DRV_Init(INST_LPUART1, &lpuart1_State, &lpuart1_InitConfig0);
LPUART_DRV_InstallRxCallback(INST_LPUART1, UART0_Callback, (void *)0);
LPUART_DRV_ReceiveData(INST_LPUART1, UART0_ReceiveBuffer, 1);
}
uart回调函数
void UART0_Callback(void *driverState, uart_event_t event, void *userData)
{
(void) driverState;
(void) userData; status_t state;
state = LPUART_DRV_GetReceiveStatus(INST_LPUART1, &UART0_bytesRemaining);
/*等待传输完成*/
// while(state == STATUS_BUSY); if (state != STATUS_BUSY)
if(state == STATUS_SUCCESS)
{ /*字符串附加终止符*/
UART0_bufferIdx++;
UART0_ReceiveBuffer[UART0_bufferIdx] = 0U;
//接收缓存数据复制到Databuffer
//memcpy(Databuffer,ReceiveBuffer,bufferIdx); UART0_bufferIdx = 0;
/*重新接收数据*/
LPUART_DRV_ReceiveData(INST_LPUART1, UART0_ReceiveBuffer, 1);
}
else
{
//可做其他逻辑判断 }
/*接收缓存FULL*/
if (event == UART_EVENT_RX_FULL)
{
if ((UART0_ReceiveBuffer[UART0_bufferIdx] != '\n') && (UART0_bufferIdx != (BUFFER_SIZE - 2U)))
{
/*每接收一字节数据,就将储存位置指向数组的下一位,直到接收到换行符 */
UART0_bufferIdx++;
LPUART_DRV_SetRxBuffer(INST_LPUART1, &UART0_ReceiveBuffer[UART0_bufferIdx], 1U); }
}
}
S32K148-uart的更多相关文章
- [Intel Edison开发板] 05、Edison开发基于MRAA实现IO控制,特别是UART通信
一.前言 下面是本系列文章的前几篇: [Intel Edison开发板] 01.Edison开发板性能简述 [Intel Edison开发板] 02.Edison开发板入门 [Intel Edison ...
- z-stack协议uart分析(DMA)
1.从ZMain里面的main函数开始分析 2.进入int main( void ); HalDriverInit(); //硬件相关初始化,有DMA初始化和UART初始化 3.进入HalDriv ...
- Win10 IoT C#开发 4 - UART 串口通信
Windows 10 IoT Core 是微软针对物联网市场的一个重要产品,既可以开发设备UI与用户交互式操作,又可以控制GPIO等接口,使得原来嵌入式繁琐的开发变得简单.通过Remote Debug ...
- (三) UART 串口通讯
UART : university asynchronous receiver and transmitter UART // 通用异步接收器和发送器 为什么要有串口:因为许多嵌入式设备没有显示屏 ...
- I2S/PCM/IOM-2、I2C/SPI/UART/GPIO/slimbus
概述 I2S,PCM,IOM-2都是数字音频接口,传数据的. I2C,SPI,UART,GPIO是控制接口,传控制信令的. I2S I2S(Inter-IC Sound Bus)是飞利浦公司为数字音频 ...
- 什么是UART中的FIFO
FIFO是先进先出缓冲区的意思,即串口接收到的数据可以先进入FIFO,不必马上进入中断服务程序接收,这样可以节省CPU时间.对于发送数据也一样可以把要发送的数据一起写入FIFO,串口控制器按照写入的顺 ...
- Uart、SPI和I2C的区别
串口通信:UART.SPI.I2C区别[引用] 1.UART就是两线,一根发送一根接收,可以全双工通信,线数也比较少.数据是异步传输的,对双方的时序要求比较严格,通信速度也不是很快.在多机通信上面 ...
- Raspberry Pi UART with PySerial
参考:http://programmingadvent.blogspot.hk/2012/12/raspberry-pi-uart-with-pyserial.html Raspberry Pi UA ...
- Raspberry Pi Resources-Using the UART
参考:RPi Serial Connection 本文来自:http://www.raspberry-projects.com/pi/programming-in-c/uart-serial-port ...
- Linux学习 : 裸板调试 之 配置UART
1.UART原理说明 发送数据时,CPU将并行数据写入UART,UART按照一定的格式在一根电线上串行发出:接收数据时,UART检测另一根电线上的信号,串行收集然后放在缓冲区中,CPU即可读取UART ...
随机推荐
- C#之依赖注入DI(DependencyInjection)
依赖注入实际上是一种设计模式,它可以有效降低模块之间的耦合度. 基本思路: 创建ServiceCollection对象 用ServiceCollection对象进行注册服务 用ServiceColle ...
- SgLang代码细读-1.从req到batch
SgLang代码细读-1.从req到batch 代码入口 & 初始化 sglang/python/sglang/srt/entrypoints/http_server.py launch_se ...
- Manifest V3 getBackgroundPage() 返回 undefined 或报错 You do not have a background page. 的巨坑
省流:无解了,老老实实 sendMessage罢 这件事挺奇怪的,因为我看官方文档就是这么写的,也没什么特别说明,版本也是最新的,就挺奇怪的-- 在翻了一大圈,之后看到了这篇帖子: 意思就是说,ap ...
- 实现qt 窗口无边框拖拽
无边框拖拽是参考Qt实战6.万能的无边框窗口(FramelessWindow) - Qt小罗 - 博客园的文章,对其代码进行修改而来. 使用的是qt6 所以有可能里面一些关于坐标的类需要修改一下类型 ...
- Lecture 1 NN,KNN
INT305 Machine Learning Lecture 1 Outline of this course ·Suprevised Learning Nearest Neighbors 近邻 D ...
- ceph部署mimic版本集群
一.简单说明 ceph mimic版本在对MDS的稳定性等方面做了大量的改进和优化,这里我们k8s集群使用ceph时需要使用cephfs,因此对MDS的稳定性方面有很高的要求,因此,我们选择ceph ...
- Vertx 接入Mysql数据库 (六)
项目github地址:https://github.com/fotocj007/VertxWebApi 前面的项目实现了一个httpserver,上传返回的消息都是json格式.现在开始实现mysql ...
- ICLR2025-MMFNET:用于多变量时间序列预测的多尺度频率掩码神经网络
title:MMFNET: MULTI-SCALE FREQUENCY MASKING NEURAL NETWORK FOR MULTIVARIATE TIME SERIES FORECASTING ...
- asp.net mvc 获取请求服务器信息
HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"] /// <summary> /// ...
- node调用powershell脚本
前提 .bat 是 Windows 批处理脚本文件的扩展名,用于编写和执行一系列 Windows 命令. .ps1才是是 PowerShell 脚本文件的扩展名,用于编写和执行 PowerShell ...