0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

快来围观:S32K344 VCU项目开发随笔~

朱老师物联网大讲堂 2024-07-26 08:11 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

此实例选择串口13进行配置:

9bc9e37e-4ae3-11ef-817b-92fbcf53809c.png

9be75026-4ae3-11ef-817b-92fbcf53809c.png

9b7467b4-4ae3-11ef-817b-92fbcf53809c.png

三、外设配置

9b87370e-4ae3-11ef-817b-92fbcf53809c.png

添加外设:

9c2fb35c-4ae3-11ef-817b-92fbcf53809c.png

配置串口信息1:

9c551462-4ae3-11ef-817b-92fbcf53809c.png

配置串口信息2(回调函数):

9c887cc6-4ae3-11ef-817b-92fbcf53809c.png

中断外设配置:

9d288874-4ae3-11ef-817b-92fbcf53809c.png

配置完毕后更新代码。

四、部分代码展示

/** * @brief UART_13回调函数 * * 该函数作为LPUART_13的中断服务程序使用,根据接收到的事件类型执行相应的处理逻辑。 * 主要功能包括处理接收缓冲区满和发送缓冲区空的事件,以及相应的数据传输逻辑。 * * @param HwInstance 硬件实例标识,此处忽略 * @param Event 事件类型,指示当前中断的原因 * @param UserData 用户数据,此处忽略 */void UART_13_Callback(const uint8 HwInstance, const Lpuart_Uart_Ip_EventType Event, void *UserData){ (void)HwInstance; // 避免未使用参数编译警告 (void)UserData; // 避免未使用参数编译警告
switch(Event) { case LPUART_UART_IP_EVENT_RX_FULL: // 接收缓冲区满事件 { // 检查是否收到换行符或接收缓冲区即将溢出 if ((rxBuffer[rxBufferIdx] != '\n') && (rxBufferIdx != (BUFFER_SIZE - 2U))) { // 继续接收下一个字符 rxBufferIdx++; Lpuart_Uart_Ip_SetRxBuffer(LPUART_UART_IP_INSTANCE_USING_13,&rxBuffer[rxBufferIdx],1U); } else { // 将接收缓冲区的数据复制到发送缓冲区,并初始化接收缓冲区 memcpy(txBuffer,rxBuffer,rxBufferIdx+1); Lpuart_Uart_Ip_AsyncSend(LPUART_UART_IP_INSTANCE_USING_13,txBuffer,1); txBufferIdx++; memset(rxBuffer,0,rxBufferIdx+1); test = rxBufferIdx + 1; rxBufferIdx = 0; Lpuart_Uart_Ip_SetRxBuffer(LPUART_UART_IP_INSTANCE_USING_13,&rxBuffer[rxBufferIdx],1U); }; }break; case LPUART_UART_IP_EVENT_TX_EMPTY: // 发送缓冲区空事件 { // 检查是否所有数据都已发送 if(txBufferIdx > test - 1) { // 重置发送缓冲区索引 txBufferIdx = 0; } else { // 继续发送下一个字符 Lpuart_Uart_Ip_SetTxBuffer(LPUART_UART_IP_INSTANCE_USING_13,&txBuffer[txBufferIdx++],1U); } }break; case LPUART_UART_IP_EVENT_END_TRANSFER: // 传输结束事件 { // 此处可添加传输结束后的处理逻辑 }break; case LPUART_UART_IP_EVENT_ERROR: // 错误事件 { // 此处可添加错误处理逻辑 }break; default: { // 处理未知事件 }break; }}

五、注意事项

9d91d612-4ae3-11ef-817b-92fbcf53809c.png

此处注意前文提到的一个回调的配置,应调用此处的回调函数。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 串口
    +关注

    关注

    15

    文章

    1626

    浏览量

    83322
  • 代码
    +关注

    关注

    30

    文章

    4976

    浏览量

    74369
  • VCU
    VCU
    +关注

    关注

    17

    文章

    86

    浏览量

    21649
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    S32K344上使用 EMIOS 配置输入捕获遇到的疑问求解答

    我正在配置软件以使用S32K344上 EMIOS 的输入捕获功能测量电机脉冲宽度。 我已经设置了驱动程序库“Emios_Mcl_Ip”和“Emios_Icu”,但代码输出不是从
    发表于 04-22 08:03

    S32K344可以连接 Jlink,但不能使用Jlink 或 PE 进行调试,为什么?

    项目中,我用了PE进行调试,强行把PE的配置从S32K358改成了S32K344。然后我点击了Dubug,导致芯片无法继续正常使用。 The above is entirely due
    发表于 04-20 11:05

    使用S32K344_0_2_55.0版本HSE(fullmem)无法进行re-format the NVM and RAM catalogs是怎么回事?

    S32K344芯片上安装S32K344_0_2_55.0版本HSE固件后,HSE固件版本号可以正确读取出来。但是在进行re-format the NVM and RAM catalogs的操作
    发表于 04-20 07:41

    使用统一引导加载程序演示 v2.1 软件包中的 S32k344 示例,编译过程报告错误,什么原因?

    使用统一引导加载程序演示 v2.1 软件包中的 S32k344 示例,编译过程报告错误。
    发表于 04-16 08:21

    如何使用 PFLASH 驱动程序在 S32K344 上对 UTEST 区域进行编程

    Hi , 背景: 我成功运行了S32K344_HSE_FW_INSTALL演示项目,并能够使用 PFLASH 驱动程序在 S32K344 上对 UTEST 区域进行编程。 示例(S32K344
    发表于 04-15 06:38

    s32k344 accMem;demo进行配置并没有成功初始化,程序进入hardfault怎么办

    大家好, 按照提供的demo进行配置并没有成功初始化,程序进入hardfault,单步调试显示在这里进入的。请帮助我排查。谢谢! 我是用的是s32k344 ,ide
    发表于 04-15 06:23

    求助,关于S32K324 上的 DMA 问题求解

    的缓冲区,并且从不输入 DMA 完成通知或 ICU 时间戳通知 (DMA 完成通知应调用 ICU 时间戳通知) 。我设置了断点,但从未输入过断点,缓冲区保持为空。 我还有一个S32K344开发板,并在该
    发表于 04-03 06:13

    DMA传输完成通知未在S32K324上的半满缓冲区时触发,为什么?

    S32K344发生第一次中断时(半缓冲区已满并发生中断): 第一次中断发生时S32K324: 我使用以下代码片段来配置 DMA 传输: K344 上的 TCD: TCD 对S32K
    发表于 04-02 08:10

    S32K344如何配置 MCAL 和应用层模型?

    我想使用 S32DS 配置工具 simulink(MBD) 开发 CAN Receive 项目S32K344。我在 MBDT 中尝试了这个例子,但经过编程,它并没有实现我想要的功能。您
    发表于 04-01 06:38

    想使用 S32K344 的 I2C 外设;I2C 时钟源如何添加

    你好 我想使用 S32K344 的 I2C 外设。我正在使用 S32DS IDE。我正在配置中请求时钟源。请告诉我如何添加它。请找到下面的片段。
    发表于 03-18 07:19

    S32K3 OTA 演示示例在 EVB 上复位后无法启动S32K358怎么解决?

    我在 S32K344 EVB 上成功运行了 S32K3 OTA 演示示例。 然后我将相同的 OTA 演示代码移植到我的 S32K358 EVB 上。 我已确认 OTA 功能已启用,并且
    发表于 03-06 07:59

    恩智浦基于S32K344的48V电机控制开发套件产品介绍

    MCSXTM4CK344和MCDXTM4CK344是功能强大的电机控制开发套件,用于高功率48V应用的快速原型设计和评估。
    的头像 发表于 01-26 09:29 2317次阅读
    恩智浦基于<b class='flag-5'>S32K344</b>的48V电机控制<b class='flag-5'>开发</b>套件产品介绍

    探索S32K344白板:多功能硬件开发平台的深度剖析

    探索S32K344白板:多功能硬件开发平台的深度剖析 在当今电子技术飞速发展的时代,一款功能强大且全面的开发平台对于电子工程师来说至关重要。NXP的S32K344白板就是这样一款极具潜
    的头像 发表于 12-25 10:55 754次阅读

    S32K376 BMU与VCU集成方案:硬件、软件与调试全解析

    S32K396BMS-EVB 评估板.pdf 一、方案概述 该参考设计将BMS和VCU集成在一个ECU中,基于S32K376 MCU开发。BMS系统负责监测电池电压、温度
    的头像 发表于 12-24 14:25 631次阅读

    首搭RT-Thread程翧车控平台| RT-Thread程翧 S32K344 快速原型开发平台正式上市!| 产品动态

    ——基于NXPS32K344的ECU快速原型开发平台,RT-Thread程翧S32K344快速原型开发平台,是首个深度内置RT-Thread程翧车控软件平台的快速原型
    的头像 发表于 10-31 11:53 1261次阅读
    首搭RT-Thread程翧车控平台| RT-Thread程翧 <b class='flag-5'>S32K344</b> 快速原型<b class='flag-5'>开发</b>平台正式上市!| 产品动态