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

购物商城类网站备案WordPress页面模板功能不见了

购物商城类网站备案,WordPress页面模板功能不见了,单仁做的网站,非你莫属做网站的卖网币起家的大家在使用MCU IIC通信时#xff0c;若碰到设备复位或者总线干扰等情况#xff0c;可能会导致IIC总线卡死#xff0c;表现上总线上SDA或者SCL其中一根线为低电平#xff0c;IIC总线一直处于busy状态。此时若代码上一直等待总线空闲#xff0c;则可能导致软件死机#xff…大家在使用MCU IIC通信时若碰到设备复位或者总线干扰等情况可能会导致IIC总线卡死表现上总线上SDA或者SCL其中一根线为低电平IIC总线一直处于busy状态。此时若代码上一直等待总线空闲则可能导致软件死机为解决该问题本视频提供了软件配置释放IIC总线的方法。 首先为大家介绍发生IIC总线卡死的两种情况1主机在发送 START 信号后 控制 SCL 产生 8 个时钟脉冲然后拉低 SCL 信号为低电平在这个时候从设备输出应答信号将 SDA 信号拉为低电平。如果这个时候主机异常复位 SCL 就会被释放为高电平。此时如果从机没有复位就会继续 I2C 的应答将 SDA一直拉为低电平直到 SCL 变为低电平才会结束应答信号。 而由于 I2C 主机复位后检测总线的状态如果 SDA 信号为低电平则 I2C 总线被占用会一直等待 SCL 和 SDA信号变为高电平因此在 I2C 主机等待从机释放 SDA 信号时 I2C 从机又在等待主机将 SCL 信号拉低以释放应答信号两者相互等待 I2C 总线进入死锁状态 2主机在发送 START 信号后 控制 SCL 产生 8 个时钟脉冲然后拉低 SCL 信号为低电平在这个时候从设备输出应答信号将 SDA 信号拉为低电平。如果这个时候主机异常复位 SCL 就会被释放为高电平。此时如果从机没有复位就会继续 I2C 的应答将 SDA一直拉为低电平直到 SCL 变为低电平才会结束应答信号。 而由于 I2C 主机复位后检测总线的状态如果 SDA 信号为低电平则 I2C 总线被占用会一直等待 SCL 和 SDA信号变为高电平。因此在 I2C 主机等待从机释放 SDA 信号时 I2C 从机又在等待主机将 SCL 信号拉低以释放应答信号两者相互等待 I2C 总线进入死锁状态 。 以下为两种复位IIC总线卡死的软件方法大家可以尝试使用 1将SDA和SCL配置为推挽输出强制输出stop信号 在 I2C 主机复位后主机检测 I2C 总线一直为 BUSY 状态且超过设定的时间则总线被锁死。可通过将 I2C 的 SCL 和 SDA 引脚初始化成普通 GPIO 功能配置成推挽输出。 先拉高SCL 信号在拉高 SDA 信号模拟产生一个 STOP 信号然后再配置为 I2C 的引脚复用功能。配置代码如下所示。 C /*! \brief reset i2c bus \param[in] none \param[out] none \retval none */ void i2c_bus_reset() { GPIO_BC(GPIOB) | GPIO_PIN_6 | GPIO_PIN_7; gpio_init(GPIOB, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_6|GPIO_PIN_7); __nop(); __nop(); __nop(); __nop(); __nop(); GPIO_BOP(GPIOB) | GPIO_PIN_6; __nop(); __nop(); __nop(); __nop(); __nop(); GPIO_BOP(GPIOB) | GPIO_PIN_7; gpio_init(GPIOB, GPIO_MODE_AF_OD, GPIO_OSPEED_50MHZ, GPIO_PIN_6 | GPIO_PIN_7); } /*! \brief check the I2C is or not busy \param[in] none \param[out] none \retval none */ void check_bus_status(void) { while(i2c_flag_get(I2C0,I2C_FLAG_I2CBSY)) { if(--time_out 0){ i2c_bus_reset(); } } } 2将SCL配置为推挽输出强制输出9个clk 在 I2C 主机中增加 I2C 总线恢复程序。每次 I2C 主设备复位后如果检测到 SDA 数据线被拉低则控制 I2C 中的 SCL 时钟线产生 9 个时钟脉冲(针对 8 位数据的情况)这样 I2C 从设备就可以完成被挂起的操作从死锁状态中恢复过来。   I2C 主机通过将 SCL 引脚初始化为普通 GPIO 功能配置成推挽输出。保证连续发送 9 个时钟脉冲为保证后续 I2C 正常通信先将 I2C 模块复位再置位最后再配置为 I2C 的引脚复用功能。配置代码如下所示。 C /*! \brief reset i2c bus \param[in] none \param[out] none \retval none */ void i2c_bus_reset() { uint8_t I 0; gpio_init(GPIOB, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_6); /* SCL output clock signal */ for(I 0; I 10; i){ gpio_bit_reset(GPIOB, GPIO_PIN_6); delay_1us(2); gpio_bit_set(GPIOB, GPIO_PIN_6); delay_1us(2); } /* reset I2C */ i2c_software_reset_config(I2C0, I2C_SRESET_RESET); i2c_software_reset_config(I2C0, I2C_SRESET_SET); gpio_init(GPIOB, GPIO_MODE_AF_OD, GPIO_OSPEED_50MHZ, GPIO_PIN_6 | GPIO_PIN_7); } /*! \brief check the I2C is or not busy \param[in] none \param[out] none \retval none */ void check_bus_status(void) { while(i2c_flag_get(I2C0,I2C_FLAG_I2CBSY)) { if(--time_out 0){ i2c_bus_reset(); } } } 如有其他问题或建议欢迎评论区讨论。 更多GD32 MCU相关咨询https://www.gd32bbs.com/
http://www.hkea.cn/news/14501563/

相关文章:

  • 东胜区教育网站入口网站怎么做vga头
  • 邯郸网站seo平台推广方案模板
  • 关注建设银行网站wordpress加密修改密码
  • zedu小语种网站建设wordpress 开发指南
  • mysql做wp网站wordpress改变访问目录结构
  • 小网站搜什么关键词好wordpress 招聘网站
  • 濮阳门户网站开发搜索推广策略制定
  • 织梦做仿站时 为何会发生本地地址跳转网站地址网站建设专业性的评价
  • 建一个网站需要多少时间表产品定制网站开发
  • 做网站放广告赚钱手机在线做ppt模板下载网站有哪些
  • 什么网站用php做的flash网站源码带后台
  • 网站制作案例招远网站建设公司报价
  • 手游网站开发企业官网营销推广
  • 简单大气网站欣赏黄骅贴吧最新消息金鼎18号
  • 阜阳学网站建设室内设计素材网站哪个最好
  • 做内部网站cms网站500错误是什么意思
  • 淘宝客网站做一种还是做好几种阿里云 域名申请
  • oracle网站开发郑州优之客网站建设
  • 洛阳网站建站法律网站建设实施方案
  • 网站开发不让搜索引擎吉林省住房建设安厅网站
  • 烟台哪个公司做网站好黄强会见韩国忠清南道知事金泰钦
  • 中文建网站微信开放平台怎么注册
  • 网站恶意点击wordpress上传到域名
  • 好网站开发公司小说网站怎么做流量吗
  • 哈尔滨学校网站建设营销qq购买
  • 做基因结构可以用哪个网站中化山东公路建设集团网站
  • 网站建设分为多少模块网页设计制作代码大全
  • 湖南seo网站策划网站开发基本要求
  • 免费1级做爰片在线网站网站不兼容360浏览器
  • 无锡网站建设专业极速信息外包公司网络安全管理制度