自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 NXP S32K146 FLEXI2C底层驱动+IAM-20680(二)

NXP S32K146 FLEXI2C底层驱动+IAM-20680(一)在上一篇文章的基础上,写IAM-20680的接口层,与上一篇差不多,os任务中分为初始化与正常运行,下面根据IAM-30680寄存器写一下初始化相关的代码。REGISTER 117 – WHO AM IWHO AM I寄存器 只读地址位是0x75,此寄存器用于验证设备的身份。WHOAMI的内容是一个8位的设备ID。该寄存器的默认值为0xA9。这与应用程序处理器在从属I2C控制器上看到的设备的I2C地址不同。IAM-20680的

2022-02-07 10:10:49 2027

原创 NXP S32K146 FLEXI2C底层驱动+IAM-20680(一)

关于CAN标准协议底层CAN总线遵循ISO11898标准,11898标准又可细分为ISO11898-1/2/3,不同的标准中定义了不同的CAN物理层,即高速CAN、低速容错CAN、单线CAN3类。标准中还定义了CAN2.0A、CAN2.0B规范,两种规范的区别主要在于定义的CAN帧ID位数不同,CAN2.0A中规定帧ID为11位(二进制),CAN2.0B中规定帧ID为29位(二进制)。IS0 11898由以下部分组成:ISO11898-1:数据链路层和物理层信号ISO11898-2:高速接入单元

2022-01-24 15:32:53 6490 2

原创 NXP S32K146 CAN通讯 TJA1043(二)

上一篇写CAN的文章用的mb-message buffer这次来搞FIFO收发,先上个SDK函数分析一下。typedef struct { bool isRemoteFrame; /*!< Remote frame远程帧*/ bool isExtendedFrame; /*!< Extended frame扩展帧*/ uint32_t id; /*!< Rx FIFO ID filter element*/} flexc

2022-01-20 14:00:30 3998

原创 NXP S32K146 FREERTOS工程配置UART空闲中断(二)

S32K146LPUART支持中断、DMA或轮询操作,支持空闲接收检测三种接收唤醒模式 ①空闲唤醒②地址标记唤醒③接收数据匹配可配置的空闲长度检测,支持1、2、4、8、16、32、64或128个空闲字符关于停止模式如果CTRL[DOZEEN]位是清除的即为0,并且异步发送和接收时钟保持启用,LPUART在停止模式期间保持功能。LPUART可以生成一个中断或DMA请求,以导致从停止模式唤醒。如果LPUART在停止模式下被禁用,那么当接收端检测到一个活动的边缘时,它可以通过STAT[RXEDG

2022-01-17 09:13:44 2430 4

原创 NXP S32K146 FREERTOS工程配置UART底层驱动(一)

MCU平台还是S32K146,开发环境是S32DS 用官方的SDK3.0.0,PE配置外设,生成generation code。在SDK上边封装函数,代码实现如下:hal_uart.c#include "../inc/hal_uart.h"extern void LPUART_DRV_StopTxDma(uint32_t instance);extern void LPUART_DRV_SetIntMode(uint32_t instance, uint32_t intSrc, bool ena

2022-01-13 14:24:54 2948

原创 NXP S32K146 FREERTOS工程创建与配置

我用的是S32 Design Studio for ARM Version: 2.2,今天分析一下如何在S32DS环境下创建工程。首先参考图1然后图二咱不知道咋回事,点这个xtaskcreate不能弹出源码,别的PE配置的都能。问也问不出来查也查不到的╮(╯▽╰)╭。...

2022-01-11 10:00:03 6678 1

原创 NXP S32K146 CAN通讯 TJA1043(一)

今天来调一下nxp S32K146的CAN通讯,硬件部分使用的是NXP TJA1043 CAN通讯芯片先翻译一下数据手册。TJA1043 有这么几个特点吧:①几种保护和诊断功能,包括母线短路检测和电池连接检测②CANFD快速阶段以高达5Mbit/s的数据速率进行可靠的通信。③用于节点诊断和故障控制的仅监听模式④传输数据(TXD)主要超时功能与诊断(如何实现?)⑤TJA1043支持五种操作模式。控制引脚STB_N和EN用于选择操作模式。 在模式之间切换允许通过引脚ERR_N访问许多诊断标志。其他

2022-01-05 15:50:38 16991 1

原创 NXP S32K146 FREERTOS信号量分析

今天本来是捋hal_uart.c,捋着捋着捋到了hal_uart_open函数,这函数是hal层里uart的最上层。顺道分析一下原工程中使用FREERTOS的流程贴上源码typedef struct{ //########略 void* rb_tx_sem; /* 消息发送信号量 */} hal_uart_contex_t;hal_uart_contex_t* ctx;//Log函数之前分析了#define FAIL_RETURN_GOTO(f,

2022-01-03 15:35:30 517

原创 NXP S32K146 Power Manager Component分析

今天分析一下,NXP S32K1系列的电源管理,先翻译一下S32K-RM的Chapter 39 Power Management P1141。 电源模式描述 电源管理控制器(PMC)提供了多个电源选项,允许用户根据需要的功能级别优化功耗。根据用户应用程序的停止需求,有多种停止模式可供选择,它们提供某些逻辑和/或内存的状态保持、部分断电或完全断电。对于运行模式和极低功耗运行(VLPR)模式,有相应的停止模式。 停止模式(VLPS, STOP1, STOP2)类似于Arm睡眠深度模式。 当不需要最大总

2021-12-27 11:10:23 4717 1

原创 NXP S32K146 打印LOG函数分析

最近从STM32换成NXP的S32K1平台做项目,从读手册调外设驱动开始,关于外设驱动是怎么调的,我用的软件是S32 Design Studio for ARM Version 2.2 在官网下载的,注册账号产品码会发到邮箱选择ONLINE验证,安装完成就可以调试驱动了。回归主题!这次想说的是嵌入式平台打印log的函数分析,打印log开源项目都有很多比如Zlog,easylogger等,这次分析一下easylogger中部分源码的作用。我的C语言水平一般,看起来还挺吃力的 #define elo

2021-12-25 22:52:49 1017

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除