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

做航空产品的网站有哪些上海网页设计制作公司

做航空产品的网站有哪些,上海网页设计制作公司,做电商一般月入多少钱,设计头像网站免费推荐介绍 ‌I2C总线由飞利浦公司开发#xff0c;是一种串行单工通信总线#xff0c;它主要用于连接微控制器和其他外围设备并在总线上的器件之间传送信息#xff08;需要指定设备地址#xff09;#xff1b;常见的i2c设备有EEPROM、触摸屏、各种IoT传感器、时钟模块等#x…介绍 ‌I2C总线由飞利浦公司开发是一种串行单工通信总线它主要用于连接微控制器和其他外围设备并在总线上的器件之间传送信息需要指定设备地址常见的i2c设备有EEPROM、触摸屏、各种IoT传感器、时钟模块等通常由两根线组成SCL和SDA使用时需要接上拉电阻常见的通信速率为100k和400k 移植流程 以i2c0为例 ① 在board里边添加相应的外设配置i2c0外设为复位状态、设置GPIO引脚功能 ② 添加相应的Kconfig开关用以指示相应的外设开启与关闭本质是通过宏定义或者条件编译的方式 ③ 根据SDK_2_14_2_FRDM-MCXA153提供的i2c示例工程编写i2c总线驱动需要实现2个关键的函数 lpc_i2c_xferrt_hw_i2c_init ④ 添加相应的库文件依赖fsl_lpi2c.c、fsl_lpi2c_edma.c 开发板引脚对应关系 序号GPIOfunction1P3_27SCL2P3_28SDA 驱动文件 pin_mux.c 在BOARD_InitPins函数里加入以下代码 #ifdef BSP_USING_I2C0 const port_pin_config_t port3_27_pin34_config {/* Internal pull-up resistor is enabled */kPORT_PullUp,/* Low internal pull resistor value is selected. */kPORT_LowPullResistor,/* Fast slew rate is configured */kPORT_FastSlewRate,/* Passive input filter is disabled */kPORT_PassiveFilterDisable,/* Open drain output is enabled */kPORT_OpenDrainEnable,/* Low drive strength is configured */kPORT_LowDriveStrength,/* Normal drive strength is configured */kPORT_NormalDriveStrength,/* Pin is configured as LPI2C0_SCL */kPORT_MuxAlt2,/* Digital input enabled */kPORT_InputBufferEnable,/* Digital input is not inverted */kPORT_InputNormal,/* Pin Control Register fields [15:0] are not locked */kPORT_UnlockRegister};/* PORT3_27 (pin 34) is configured as LPI2C0_SCL */PORT_SetPinConfig(PORT3, 27U, port3_27_pin34_config);const port_pin_config_t port3_28_pin33_config {/* Internal pull-up resistor is enabled */kPORT_PullUp,/* Low internal pull resistor value is selected. */kPORT_LowPullResistor,/* Fast slew rate is configured */kPORT_FastSlewRate,/* Passive input filter is disabled */kPORT_PassiveFilterDisable,/* Open drain output is enabled */kPORT_OpenDrainEnable,/* Low drive strength is configured */kPORT_LowDriveStrength,/* Normal drive strength is configured */kPORT_NormalDriveStrength,/* Pin is configured as LPI2C0_SDA */kPORT_MuxAlt2,/* Digital input enabled */kPORT_InputBufferEnable,/* Digital input is not inverted */kPORT_InputNormal,/* Pin Control Register fields [15:0] are not locked */kPORT_UnlockRegister};/* PORT3_28 (pin 33) is configured as LPI2C0_SDA */PORT_SetPinConfig(PORT3, 28U, port3_28_pin33_config); #endifboard/Kconfig 加入i2c0相关配置 menuconfig BSP_USING_I2Cconfig BSP_USING_I2Cbool Enable I2Cselect RT_USING_I2Cdefault yif BSP_USING_I2Cconfig BSP_USING_I2C0bool Enable I2C0default yendifdrv_i2c.c i2c驱动层修改如下 /** Copyright (c) 2006-2024, RT-Thread Development Team** SPDX-License-Identifier: Apache-2.0** Change Logs:* Date Author Notes* 2023-08-17 hywing The first version*/#include rtdevice.h #include fsl_lpi2c.h #include fsl_lpi2c_edma.h #include fsl_edma.h#ifdef RT_USING_I2Cenum { #ifdef BSP_USING_I2C0I2C0_INDEX, #endif };#define i2c_dbg rt_kprintfstruct lpc_i2c_bus {struct rt_i2c_bus_device parent;LPI2C_Type *I2C;clock_attach_id_t clock_attach_id;clock_div_name_t clock_div_name;clock_name_t clock_src;uint32_t baud;char *name; };struct lpc_i2c_bus lpc_obj[] { #ifdef BSP_USING_I2C0{.I2C LPI2C0,.baud 100000U,.clock_attach_id kFRO12M_to_LPI2C0,.clock_div_name kCLOCK_DivLPI2C0,.clock_src kCLOCK_Fro12M,.name i2c0,}, #endif #ifdef BSP_USING_I2C1{.I2C LPI2C1,.baud 100000U,.clock_attach_id kFRO12M_to_FLEXCOMM1,.clock_div_name kCLOCK_DivFlexcom1Clk,.clock_src kCLOCK_Fro12M,.name i2c1,}, #endif #ifdef BSP_USING_I2C2{.I2C LPI2C2,.baud 100000U,.clock_attach_id kFRO12M_to_FLEXCOMM2,.clock_div_name kCLOCK_DivFlexcom2Clk,.clock_src kCLOCK_Fro12M,.name i2c2,}, #endif };static rt_ssize_t lpc_i2c_xfer(struct rt_i2c_bus_device *bus, struct rt_i2c_msg msgs[], rt_uint32_t num) {struct rt_i2c_msg *msg;lpi2c_master_transfer_t xfer {0};rt_uint32_t i;rt_ssize_t ret 0;struct lpc_i2c_bus *lpc_i2c (struct lpc_i2c_bus *)bus;for (i 0; i num; i){msg msgs[i];if (msg-flags RT_I2C_RD){xfer.slaveAddress msg-addr;xfer.direction kLPI2C_Read;xfer.subaddress 0;xfer.subaddressSize 0;xfer.data msg-buf;xfer.dataSize msg-len;if(i ! 0)xfer.flags kLPI2C_TransferRepeatedStartFlag;elsexfer.flags kLPI2C_TransferDefaultFlag;if (LPI2C_MasterTransferBlocking(lpc_i2c-I2C, xfer) ! kStatus_Success){i2c_dbg(i2c bus read failed!\n);return i;}}else{xfer.slaveAddress msg-addr;xfer.direction kLPI2C_Write;xfer.subaddress 0;xfer.subaddressSize 0;xfer.data msg-buf;xfer.dataSize msg-len;if(i 0)xfer.flags kLPI2C_TransferNoStopFlag;elsexfer.flags kLPI2C_TransferDefaultFlag;if (LPI2C_MasterTransferBlocking(lpc_i2c-I2C, xfer) ! kStatus_Success){i2c_dbg(i2c bus write failed!\n);return i;}}}ret i;return ret; }static const struct rt_i2c_bus_device_ops i2c_ops {lpc_i2c_xfer,RT_NULL,RT_NULL };int rt_hw_i2c_init(void) {int i;lpi2c_master_config_t masterConfig;for(i0; iARRAY_SIZE(lpc_obj); i){CLOCK_SetClockDiv(lpc_obj[i].clock_div_name, 1u);CLOCK_AttachClk(lpc_obj[i].clock_attach_id);LPI2C_MasterGetDefaultConfig(masterConfig);masterConfig.baudRate_Hz lpc_obj[i].baud;LPI2C_MasterInit(lpc_obj[i].I2C, masterConfig, /*CLOCK_GetFreq(lpc_obj[i].clock_src)*/CLOCK_GetLpi2cClkFreq());lpc_obj[i].parent.ops i2c_ops;rt_i2c_bus_device_register(lpc_obj[i].parent, lpc_obj[i].name);}return RT_EOK; } INIT_DEVICE_EXPORT(rt_hw_i2c_init);#endif /* RT_USING_I2C */SConscript 在Libraries/MCXA153/SConscript文件里边加上以下代码 if GetDepend(BSP_USING_I2C):src [MCXA153/drivers/fsl_lpi2c.c]src [MCXA153/drivers/fsl_lpi2c_edma.c]测试用例 打开使能i2c0驱动 使能ssd1306模块并连接SCLP3_27、SDAP3_28引脚 拉取更新软件包并导出MDK5工程 pkgs --update scons --targetmdk5在msh终端输入ssd1306_TestAll屏幕输出效果如下说明i2c BSP驱动已经正确移植
http://www.hkea.cn/news/14563459/

相关文章:

  • 能进入危险网站的浏览器如何做网站的图片滑动块
  • 海口手机网站建设wordpress如何开启gzip
  • html论坛网站模板下载新手做网站教程
  • 大学生app开发经费预算表连云港seo优化
  • 网站策划布局延吉做网站
  • 大型网站制作需要什么设备抽奖网站开发
  • 贵阳网站建设蜜蜂网站防采集
  • 网站数据库结构被删了怎么办怎么查那家网络公司做的所以网站
  • 建立平台网站需要花多少钱onenote wordpress
  • 广东省城乡建设部网站做搜狗pc网站优化
  • 郑州市建设教育协会网站如何制作橡皮泥 简单
  • 推广 高端网站建设wordpress提交360
  • 网站建设业务好做吗wordpress近期文章小工具
  • 用网站做数据库装修设计图免费软件
  • 实用网站的设计与实现网站如何做排名优化
  • 招远做网站哈尔滨seo优化团队
  • 泉州做网站优化哪家好WordPress反爬虫教程
  • 房产公司网站建设方案郑州教育信息网
  • 家具网站建设公司平台代运营是什么意思
  • phpmysql网站开发笔记网站标题优化工具
  • 企业网站案列市场推广方案
  • 长春免费网站制作开发板哪个好
  • 单网页网站像美团这种网站怎么做的
  • 社旗微网站开发网站模板 可做采集站
  • 网站界面设计案例教程库尔勒市第六小学地址
  • 做跨境电商网站的意义数码庄园的网站建设公司
  • 网站使用什么语言好咪呜瀑布流WordPress模板
  • 网站导航网站建设多少钱男女这样做那个网站
  • 辽宁企业网站建设3a汽车集团公司网络营销方案
  • 青海西宁制作网站公司舟山建设工程信息网站