当前位置: 首页 > news >正文

怎么建立一个好公司网站万网域名管理控制台

怎么建立一个好公司网站,万网域名管理控制台,制作可以赚钱的网站,只有域名如何做网站文章目录 1. 前言2. 评估板简介3. 官方驱动3.1 官网驱动的介绍3.2 官方驱动的移植3.3 官方驱动的使用 4. 参考资料 1. 前言 本篇文章是TLD7002学习笔记的第二篇#xff0c;主要是介绍如何使用S32K144驱动TLD7002-16ES。为此#xff0c;笔者做了一套基于TLD7002-16ES的评估板… 文章目录 1. 前言2. 评估板简介3. 官方驱动3.1 官网驱动的介绍3.2 官方驱动的移植3.3 官方驱动的使用 4. 参考资料 1. 前言 本篇文章是TLD7002学习笔记的第二篇主要是介绍如何使用S32K144驱动TLD7002-16ES。为此笔者做了一套基于TLD7002-16ES的评估板用于调试和评估TLD7002-16ES。 2. 评估板简介 整个评估板的框图如下所示 控制板主要由MCU、CAN收发器、DCDC和LDO组成 MCU选用了笔者熟悉的S32K144方便进行软件调试MCU加上CAN收发器用于和TLD7002进行HSLI通信也是一种uart over can的通信LDO用于给MCU和CAN收发器供电DCDC用于给灯板供7V电 灯板主要由TLD7002-16ES和LED灯珠组成 VS用于整体芯片供电供电范围为6-20V该板12V供电VLED用于LED灯珠的阳极供电供电范围为2-20V该板使用7V供电HSLI用于和控制板之间的通信同时还预留了GPIN0用于烧录芯片时使用框图未标出 3. 官方驱动 3.1 官网驱动的介绍 驱动下载地址 TLD7002-16ES Device Driver - Infineon Developer Center 下载之后获取的是一个压缩包解压之后的文件目录如下 这三个文件夹有用的是src文件夹templates文件夹因为里面的例程是基于Arduino平台对直接使用单片机的参考意义不大因为源文件每个函数都有详细的注释所以documents里面的文件也用不上。 打开src文件夹所有的文件如下 对应的TLD7002-16ES的驱动架构如下 TLD7002_Definition.h 里面都是关于寄存器的详细定义TLD7002.h 里面是其他层需要用到如帧结构的结构体等变量的定义TLD7002_ControlLayer.c/TLD7002_ControlLayer.h 主要是准备帧的组成元素如CRC校验滚动码负载处理等。TLD7002_ControlLayer.c/TLD7002_ControlLayer.h 实现各种帧的收发函数提供API给外部调用主要的API如下 3.2 官方驱动的移植 官方驱动实现的功能上文已经介绍细心的读者肯定会有疑问为啥没有看到UART收发功能在某个文件实现 其实官方驱动里确实没有具体实现UART收发功能但是在TLD7002_ControlLayer.h文件里提供了一个结构体类型里面包含了待用户实现UART收发功能的函数指针如下图所示 下面以S32K144驱动TLD7002-16ES为例介绍下完整的移植过程。 新建S32K144工程并将TLD7002-16ES的驱动文件包含进去新增TLD7002_HAL.c/TLD7002_HAL.h文件用于实现UART的收发功能等新增types.h文件用于实现驱动文件里面的数据类型和S32K1的SDK数据类型兼容。如下图所示 在types.h实现数据类型兼容 #include stdbool.h #include stdint.h#define TRUE true #define FALSE falsetypedef uint8_t uint8; typedef uint16_t uint16; typedef uint32_t uint32; typedef bool boolean;新增串口组件进行配置同时在pin_mux组件配置对应的引脚 基接下来需要在TLD7002_HAL.c/TLD7002_HAL.h实现串口收发整个的流程图如下 在TLD7002_HAL.C中实现UART发送函数因为CAN收发器具有回环功能TX发出去的数据在RX也能收到为了接收完整的数据所以需要提前调用LPUART_DRV_ReceiveData函数使能接收。实现函数如下所示 然后实现UART接收函数同时需要和UART中断函数进行配合如下所示 使用广播地址的情况下TLD7002不会回复数据但是MCU的RX因为CAN收发器的原因仍然会收到自身发的数据所以需要在接收完数据后进行计数器的复位同时丢弃这部分数据。针对广播地址的情况也准备了单独的串口接收函数。 接着定义一个结构体包含这些函数的指针方便其它函数调用 generateStartSyncBreak和generateStopSyncBreak两个函数的作用是结合使用产生一段时间的低电平从而复位TLD7002-16ES。在使用TLD7002-16ES过程中基本用不到使用进入init模式的帧命令更多,所以这里就不去实现了。 最后在TLD7002_HAL.h文件里增加这些函数的声明。 #if (INST_LPUART_TLD70020U)#define LPUART_TLD7002 LPUART0 #elif (INST_LPUART_TLD70021U)#define LPUART_TLD7002 LPUART1 #else#define LPUART_TLD7002 LPUART2 #endifextern TLD7002_NetworkInstance_t TLD7002Network;void sendTLD7002Message(uint8 *txBuffer, uint32 len_write); boolean readReceivedTLD7002Answer(uint8* read_dest, uint32 len_read); void emptyingReceiveBuffer(void); void generateStartSyncBreak(void); void generateStopSyncBreak(void); void Lpuart_tld7002_RxCallback(void *driverState, uart_event_t event, void *userData);3.3 官方驱动的使用 官方驱动移植好之后就可以在用户程序中进行调用了。笔者基于自己的做的DEMO实现了呼吸和流水转向功能。 mian函数的代码如下 其中 关于TLD7002_Init()函数的实现如下 TLD7002初始化步骤参考的软件使用手册中的流程图如下 关于Led_Breath()和Led_TurnWater()函数主要就是调用更新占空比的帧命令由于比较简单并且代码较多这里就只展示下Led_TurnWater()。 TLD7002实现动画效果参考的软件使用手册中的流程图如下 另外如果想要知道MCU给TLD7002-16ES发完数据之后TLD7002-16ES的状态可以参考如下代码实现 reponse_val_TLD7002 TLD7002_RX_DC_UPDATE_14BIT_FRAME(TLD7002Network, dcupd14bit_TLD7002);switch(reponse_val_TLD7002) { /* check status of answer */case TLD7002_FRAME_VAL_NO_ERROR: /* do something */break;case TLD7002_FRAME_VAL_UNDEFINED_ERROR: /* do something */break;case TLD7002_FRAME_VAL_COPY_FRAME_ERROR: /* do something */break;case TLD7002_FRAME_VAL_BROADCAST_ERROR: /* do something */break;case TLD7002_FRAME_VAL_CRC3_ERROR: /* do something */break;case TLD7002_FRAME_VAL_RC_ERROR: /* do something */break;}笔者在调试时遇到的注意事项也简单分享下 没有进行过OTP烧录的TLD7002-16ES是无法进入active mode也即没法正常工作。推荐将所有OTP寄存器烧录完成后再使用MCU进行控制。OTP寄存器没有完全烧录的芯片只能接收到广播地址和0x01。OTP区域的CRC寄存器的值一定要写对否则该器件只能接收到广播地址。只调用DC_UPDATE命令是不会更改TLD7002的占空比的只有调用了DC_SYNC命令之后TLD7002-16es才会在下一个PWM周期开始时更改占空比。如果需要短时间内频繁使用DC_UPDATE命令如实现灯的呼吸建议使用器件地址不要使用广播地址。否则TLD7002-16ES会进入fail-safe模式。 TLD7002-16ES的软件驱动部分就介绍到这里了。因为Infenion官方提供的驱动比较完善所以用户在芯片驱动层不需要花太多时间只需要专注应用层即可。如果有读者想要对TLD7002-16ES的软件驱动做更多的了解建议深入阅读官方提供的驱动源码。 4. 参考资料 TLD7002-16LITE_KIT User Guide TLD7002-16ES software design and device driver
http://www.w-s-a.com/news/228414/

相关文章:

  • 广西平台网站建设报价wordpress 免费 企业 主题
  • 四川省建设厅职称查询网站辽宁省住房和城乡建设部网站
  • 公司网站后台登陆网站放到云服务器上怎么做
  • 济南 网站定制做网站购买域名
  • 代理分佣后台网站开发怎么用源码做网站视频
  • 天津网站建设招标wordpress七牛图片插件
  • 建设合同施工合同示范文本汕头市网络优化推广平台
  • 网站关键词修改老王搜索引擎入口
  • 那个网站做搬家推广比较好建设部网站办事大厅栏目
  • 做企业销售分析的网站广州网站设计建设
  • 建站流程wordpress怎么开伪静态
  • 服务器不是自己的做违法网站videopro wordpress
  • 北京建网站的公司哪个比较好网站开通告知书
  • 网站负责人 主体负责人黑龙江 建设监理协会网站
  • 手机网站焦点图代码建设工程质量检测网站
  • 墙绘做网站推广有作用没html网页制作用什么软件
  • 企业做网站有用吗网站推广的常用方法有哪些?
  • 景安做网站教程互联网小程序开发
  • 桂林北站离阳朔多远贵州省建设厅住房和城乡建设官网二建考试
  • 浙江省建设厅 网站是多少wordpress淘宝客一键
  • 网站流量少怎么做5个不好的网站
  • 随州网站建设有限公司个人申请注册公司需要多少钱
  • 东莞做商城网站建设wordpress批量下载外链图片
  • 新网站建设运营年计划书仓山区建设局招标网站
  • 网站开发天津网站建设项目组织图
  • 网站开发认证考试石家庄高端网站开发
  • 网站建设第一步怎么弄站酷网页
  • 设备网站模板江西的赣州网站建设
  • 邯郸营销型网站国际招聘人才网
  • hexo wordpress 主题织梦网站优化教程