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

网站建设建设公司哪家好seo网站优化推广

网站建设建设公司哪家好,seo网站优化推广,wordpress 获取当前文章分类,网站建设实习业务介绍知不足而奋进 望远山而前行 目录 文章目录 前言 开发流程 GD32F4软件I2C初始化 GD32F4软件I2C引脚功能 写操作 读操作 总结 前言 在嵌入式系统开发中#xff0c;软件实现的I2C通信协议扮演着至关重要的角色。本文将深入探讨如何在GD32F4系列微控制器上实现软件I2C功能…知不足而奋进 望远山而前行 目录 文章目录 前言 开发流程 GD32F4软件I2C初始化 GD32F4软件I2C引脚功能 写操作 读操作 总结 前言 在嵌入式系统开发中软件实现的I2C通信协议扮演着至关重要的角色。本文将深入探讨如何在GD32F4系列微控制器上实现软件I2C功能涵盖了引脚初始化、功能定义以及读写操作的详细步骤和代码示例。 开发流程 引脚初始化引脚功能定义实现读操作实现写操作 GD32F4软件I2C初始化 void SoftI2C_init() {// 时钟配置rcu_periph_clock_enable(SCL_RCU);// 设置输出模式gpio_mode_set(SCL_PORT, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, SCL_PIN);gpio_output_options_set(SCL_PORT, GPIO_OTYPE_OD, GPIO_OSPEED_50MHZ, SCL_PIN);// 时钟配置rcu_periph_clock_enable(SDA_RCU);// 设置输出模式gpio_mode_set(SDA_PORT, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, SDA_PIN);gpio_output_options_set(SDA_PORT, GPIO_OTYPE_OD, GPIO_OSPEED_50MHZ, SDA_PIN); } I2C引脚高低电平 GD32F4软件I2C引脚功能 #define SCL_RCU RCU_GPIOB #define SCL_PORT GPIOB #define SCL_PIN GPIO_PIN_6 #define SCL_AF GPIO_AF_4#define SDA_RCU RCU_GPIOB #define SDA_PORT GPIOB #define SDA_PIN GPIO_PIN_7 #define SDA_AF GPIO_AF_4/************** io ***************/ #define SCL(BIT) gpio_bit_write(SCL_PORT, SCL_PIN, BIT?SET:RESET) #define SDA(BIT) gpio_bit_write(SDA_PORT, SDA_PIN, BIT?SET:RESET) #define SDA_STATE() gpio_input_bit_get(SDA_PORT, SDA_PIN)#define SDA_IN() gpio_mode_set(SDA_PORT, GPIO_MODE_INPUT, GPIO_PUPD_NONE, SDA_PIN) #define SDA_OUT() gpio_mode_set(SDA_PORT, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, SDA_PIN) IO引脚定义引脚输出模式高低电平输出SCL高和低SDA高和低SDA模式配置SDA输出模式SDA输入模式SDA输入模式状态读取。 写操作 uint8_t SoftI2C_write(uint8_t addr, uint8_t reg, uint8_t* data, uint32_t len) {start();send(addr 1); //发送设备写地址if(wait_ack()) return 1; //等待响应send(reg); //发送寄存器地址if(wait_ack()) return 2; //等待响应do {send(*data);if(wait_ack()) return 3;} while(--len);stop();return 0; } 读操作 uint8_t SoftI2C_read(uint8_t addr, uint8_t reg, uint8_t* data, uint32_t len) {start();send(addr 1); //发送设备写地址if(wait_ack()) return 1; //等待响应send(reg); //发送寄存器地址if(wait_ack()) return 2; //等待响应start();send((addr 1) | 0x01); //发送设备读地址if(wait_ack()) return 3; //等待响应do {*data recv();data;if(len ! 1) send_ack(); // 发送 ACK} while(--len);send_nack(); // 发送 NACKstop();return 0; } 总结 本文详细介绍了如何在GD32F4系列微控制器上实现软件I2C功能。首先通过引脚初始化和功能定义确保了I2C通信的正常进行。随后展示了如何实现基本的读写操作包括开始和停止条件的生成、地址和数据的发送与接收以及对应的应答信号处理。这些步骤不仅仅是硬件控制的反映更是软件层面对I2C通信协议的实现与管理为嵌入式系统开发提供了一个可靠的解决方案。
http://www.w-s-a.com/news/749925/

相关文章:

  • 网站服务器组建网站案例上海
  • 盘锦949公社最新招聘优化大师免费版
  • 国外有哪些网站是做弱电的中国国家培训网正规吗
  • 30分钟网站建设教程视频全屋整装120平米的多少钱
  • 生成链接的网站aso优化平台
  • 策划网站建设方案电商扶贫网站建设
  • 网站策划建设方法企业网站建设问题研究
  • 昆明专业网站建设的公司帮别人制作wordpress赚钱吗
  • 高校校园网站建设天水市建设局网站公告
  • 北京网站建设需要花多少钱企业建设网站的目的是
  • 网站模板 免费百度seo优化招聘
  • 过年做那些网站能致富怎样免费建立自己网站
  • 网站去哪里备案长沙网络推广
  • 企业网站规划书vue适合什么样的网站开发
  • 个人网站备案名字网站设计的提案
  • 网站自己做还是找人做常州钟楼区邹区建设局网站
  • 网站文件上传wordpress修改asp做微网站
  • 妇女之家网站建设方案英语不行如何编程做网站
  • 深圳企业网站建设推广服务网站托管一年多少钱
  • wordpress 百度地图api网络seo天津
  • 网站营销咨询顾问餐饮加盟网站建设方案
  • 网站后台管理系统的重要技术指标wordpress下单邮件通知的实现
  • 通化县住房和城乡建设局网站定制网站收费
  • 湖北做网站教程哪家好成都网站建设询q479185700上快
  • 网站的seo方案鹰潭做网站的公司
  • 高级室内设计网站太原网站设计费用
  • 智信建设职业培训学校网站深圳做网站建设开发
  • 宣城市住房和城乡建设局网站网站界面设计专利
  • 免费个人网站建站申请如何做内网网站
  • 福州专业网站建设怎么做黄骅港怎么读