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

建宣传网站电子商务网站创建过程

建宣传网站,电子商务网站创建过程,新注册公司网站怎么做,深圳4a广告公司有哪些学习单片机时最开始也是从GPIO开始的#xff0c;Linux的主芯片I.MX6UL有124个GPIO#xff0c;当然很多是复用的#xff0c;与之对比#xff0c;STM32F407系列的单片机GPIO口是112个。回顾之前单片机的学习#xff0c;大部分的GPIO功能是通过HAL库函数调用的#xff0c;例…学习单片机时最开始也是从GPIO开始的Linux的主芯片I.MX6UL有124个GPIO当然很多是复用的与之对比STM32F407系列的单片机GPIO口是112个。回顾之前单片机的学习大部分的GPIO功能是通过HAL库函数调用的例如HAL_GPIO_WritePin()和HAL_GPIO_TogglePin()都是很方便的操作GPIO的库函数编程者无需关心寄存器如何设置。那I.MX6UL有没有这种利器呢答案是有的NXP为这款主芯片开发了相应的库函数可以在NXP的官网上下载SDK有WIN版和LINUX版两种供选择下载完之后安装在安装文件夹下找到fsl_common.hfsl_iomuxc.h和MCIMX6YH2.h把这几个头文件复制到自己的工程文件夹里就可以调用相关的库函数了。 我们还是从GPIO最简单的应用点亮LED灯开始学习。由于GPIO的复用比较多首先是选择复用哪个功能使用IOMUXC_SetPinMux()这个函数在fsl_iomuxc.h里可以看到函数定义它一共有6个参数。 static inline void IOMUXC_SetPinMux(uint32_t muxRegister,uint32_t muxMode,uint32_t inputRegister,uint32_t inputDaisy,uint32_t configRegister,uint32_t inputOnfield) {*((volatile uint32_t *)muxRegister) IOMUXC_SW_MUX_CTL_PAD_MUX_MODE(muxMode) | IOMUXC_SW_MUX_CTL_PAD_SION(inputOnfield);if (inputRegister){*((volatile uint32_t *)inputRegister) IOMUXC_SELECT_INPUT_DAISY(inputDaisy);} }实际用的时候是这样的IOMUXC_SetPinMux(IOMUXC_GPIO1_IO03_GPIO1_IO03,0)。为什么6个参数变成了2个因为在这个头文件里还定义了很多宏这样来方便开发者调用比如#define IOMUXC_GPIO1_IO03_GPIO1_IO03 0x020E0068U, 0x5U, 0x00000000U, 0x0U, 0x020E02F4U。通过这种调用开发者就不需要记寄存器啥的很友好了。 同样在fsl_iomuxc.h里可以看到每个IO口的宏定义 #define IOMUXC_GPIO1_IO03_I2C1_SDA 0x020E0068U, 0x0U, 0x020E05A8U, 0x1U, 0x020E02F4U #define IOMUXC_GPIO1_IO03_GPT1_COMPARE3 0x020E0068U, 0x1U, 0x00000000U, 0x0U, 0x020E02F4U #define IOMUXC_GPIO1_IO03_USB_OTG2_OC 0x020E0068U, 0x2U, 0x020E0660U, 0x0U, 0x020E02F4U #define IOMUXC_GPIO1_IO03_USDHC1_CD_B 0x020E0068U, 0x4U, 0x020E0668U, 0x0U, 0x020E02F4U #define IOMUXC_GPIO1_IO03_GPIO1_IO03 0x020E0068U, 0x5U, 0x00000000U, 0x0U, 0x020E02F4U #define IOMUXC_GPIO1_IO03_CCM_DI0_EXT_CLK 0x020E0068U, 0x6U, 0x00000000U, 0x0U, 0x020E02F4U #define IOMUXC_GPIO1_IO03_SRC_TESTER_ACK 0x020E0068U, 0x7U, 0x00000000U, 0x0U, 0x020E02F4U #define IOMUXC_GPIO1_IO03_UART1_RX 0x020E0068U, 0x8U, 0x020E0624U, 0x1U, 0x020E02F4U #define IOMUXC_GPIO1_IO03_UART1_TX 0x020E0068U, 0x8U, 0x00000000U, 0x0U, 0x020E02F4U可以看到GPIO1_IO03一共有9个复用功能你要用哪个功能选择这个功能的宏即可。 另外一个函数IOMUXC_SetPinConfig()的作用是设置GPIO口的IO属性具体来看定义 static inline void IOMUXC_SetPinConfig(uint32_t muxRegister,uint32_t muxMode,uint32_t inputRegister,uint32_t inputDaisy,uint32_t configRegister,uint32_t configValue) {if (configRegister){*((volatile uint32_t *)configRegister) configValue;} }可以看到前5个参数和IOMUXC_SetPinMux()是一模一样的所以在使用时选择相应的宏即可。最后一个configValue参数就要看手册了它其实就是设置GPIO的各种参数例如上下拉、速度还有一些和单片机不一样的参数例如SRE压摆率代表从0到1需要多少时间如果时间越小波形的斜率就越大代表压摆率高反之压摆率小。还有DSE代表IO的驱动能力。这是我在chatgpt上问到的信息。 在 i.MX6UL 处理器中DSE 代表的是 Drive Strength Field即驱动强度字段。这是用来配置 GPIO 的一个参数它控制输出驱动器的输出电流。不同的驱动强度设置可以影响 GPIO 引脚的输出电流和稳定性。 这个特性对我来说比较新需要时间消化。 总之configValue对应的寄存器是IOMUXC_SW_MUX_CTL_PAD_GPIO1_IOXX(XX代表的是IO的号码这是个32位寄存器查询IMX6UL参考手册可以看到这个寄存器的每位定义它只有低17位有效具体来看 16位HYS使能迟滞比较器当IO作为输入时有效比较器的意思是即输入信号必须超过一个阈值才能将输出状态切换并且在输入信号低于另一个较低的阈值时保持输出状态不变。0禁止1使能 15-14位上拉或下拉电阻设置一共4种选择00-100K欧的下拉01-47K欧的上拉10-100K欧的上拉11-22K欧的上拉 13位状态保持器当IO作为输入时有效为0时当外部电路断电以后此IO口可以保持住以前的状态为1时使用上下拉 12位使能或者禁止上下拉/状态保持器功能为0时禁止为1时使能 11位当IO作为输出时有效0禁止开路输出1使能开路输出 10-8位保留不用 7-6位设置GPIO的速度从00-11有4档可选50MHz到200MHz 5-3位上面说的DSE000禁止DSE功能001R0的阻值3.3V下是260欧1.8V下是150欧接DDR时是240欧010-111分别把R0 的值设为001时R0值的1/2到1/7 2-1位保留不用 0位上面说的压摆率SRE0为低压摆率1为高压摆率实际使用时可以这么写函数IOMUXC_SetPinConfig(IOMUXC_GPIO1_IO03_GPIO1_IO03, 0x10B0)按照上述的每位定义这个0x010B0对应的就是 禁止HYS100K欧下拉断电后IO口保持以前状态使能状态保持器禁止开路输出7-6位是10150MHz速DSE为110低压摆率 以上的学习针对的都是IO口的复用和相关参数设置但并没有涉及到GPIO的属性例如怎么设置输入输出怎么设置高低电平值等等这一块是怎么设置的呢 另外STM32单片机还需要初始化GPIO的时钟还有中断I.MX6UL的这些设置在哪里进行 未完待续
http://www.pierceye.com/news/125839/

相关文章:

  • 做营销型网站 公司哈尔滨展览设计公司
  • 网站设计费用多少钱产品网页设计教程
  • 深圳公司网站建设设计网站推广的意义和方法
  • 网站需要哪些费用免费营销型网站模版
  • 如何做购物网站的教程wordpress酷炫插件
  • 建设信用卡网站登录网站建设和微信小程序
  • 邓州企业网站艺术设计方案
  • 广州市住房住建局网站永久免费的云电脑
  • 建设网站后如何上线不用服务器做网站
  • 建站服务论坛国外做外贸哪个网站好些
  • 营销型网站试运营调忧仿别人网站
  • 低价网站制作企业云南网站开发公司
  • 成都市建设厅网站查询十九冶成都建设有限公司网站
  • 建电商网站要多少钱建设绿色食品网站
  • 建行个人网上登录入口优化网站结构一般包括
  • 好看的网站页面WordPress知更鸟主题怎样安装
  • 如何查网站是否备案免费建网站代码
  • 曲沃网站开发新注册的公司怎么做网站
  • 企业网站无线端怎么做塑胶科技东莞网站建设
  • 图片发到哪些网站 seo阜沙网站建设
  • 企业开源建站系统大连百度首页优化
  • 通辽做网站有没有智慧软文发稿平台
  • 网站别人做的我自己怎么续费福州网站建站公司
  • 青岛高端网站开发wordpress修改logo地址
  • 做网站实名认证有什么用青岛网站建设运营
  • 大数据分析网站做汽车保养的网站上
  • 网站开发费用一般是多少怎么建设宣传网站
  • 做网站的背景怎么做ps免费模板网站
  • 为什么要建设应急管理网站sketch做网站
  • 做的网站在百度上搜不出来的宁波关键词优化平台