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

制作网站的公司wordpress 邮箱设置

制作网站的公司,wordpress 邮箱设置,山东省住房和城乡建设厅电话,网站开发 上海一、初始化 理论知识链接#xff1a; IIC理论知识 二、代码实现 1、SDA和SCL设置成开漏输出模式 开漏输出的作用#xff1a; 因为IIC总线是一种双向的通信协议#xff0c;需要使用开漏输出实现共享总线。开漏输出类似于一种线与的方式#xff0c;即无论总线上哪个设备…一、初始化 理论知识链接 IIC理论知识 二、代码实现 1、SDA和SCL设置成开漏输出模式 开漏输出的作用 因为IIC总线是一种双向的通信协议需要使用开漏输出实现共享总线。开漏输出类似于一种线与的方式即无论总线上哪个设备下拉了所有设备都能知道。IIC总线通常需要使用上拉电阻来保证总线上的高电平。 以GD32为例使用普通GPIO模拟IIC初始化如下 //PA1 -- SDA //PA2 -- SCL#define iic_addr 0x30 //根据从机地址进行修改 #define GPIO_PORT_I2C GPIOA //根据引脚进行修改 #define GPIO_RCC_I2C RCU_GPIOA//根据引脚进行修改 #define GPIO_SCL_I2C GPIO_PIN_2//根据引脚进行修改 #define GPIO_SDA_I2C GPIO_PIN_1//根据引脚进行修改 #define delay_time 2 //2us//将引脚设置成开漏输出 void iic_init() {rcu_periph_clock_enable(GPIO_RCC_I2C);//启动时钟gpio_mode_set(GPIO_PORT_I2C, GPIO_MODE_OUTPUT, GPIO_PUPD_PULLUP, GPIO_SCL_I2C | GPIO_SDA_I2C);//默认上拉gpio_output_options_set(GPIOA, GPIO_OTYPE_OD, GPIO_OSPEED_50MHZ, GPIO_SCL_I2C | GPIO_SDA_I2C);//设置开漏输出i2c_stop();//复位一下 }2、写启动信号 启动信号表现形式为 静默状态SCL、SDA为高电平。启动信号SCL为高电平时SDA由高电平变成低电平 #define I2C_SCL_H gpio_bit_set(GPIO_PORT_I2C,GPIO_SCL_I2C)//拉高 #define I2C_SCL_L gpio_bit_reset(GPIO_PORT_I2C,GPIO_SCL_I2C)//拉低 #define I2C_SDA_H gpio_bit_set(GPIO_PORT_I2C,GPIO_SDA_I2C)//拉高 #define I2C_SDA_L gpio_bit_reset(GPIO_PORT_I2C,GPIO_SDA_I2C)//拉低//启动信号 /* SCL ————————————————————\\___________SDA ——————————\\____________________ */ void i2c_start() {I2C_SDA_H;I2C_SCL_H;delay_us(delay_time);I2C_SDA_L;delay_us(delay_time);I2C_SCL_L;delay_us(delay_time); } 3、写终止信号 终止信号表现形式为 静默状态SCL高电平、SDA为低电平。终止信号SCL为高电平时SDA由低电平变成高电平 /* SCL ————————————————————————————————————————SDA /——————————————————_________________/ */ void i2c_stop() {I2C_SDA_L;I2C_SCL_H;delay_us(delay_time);I2C_SDA_H; }4、发送一个字节数据 void i2c_sendbyte(unsigned char data) {unsigned char i;for(i 0; i 8; i)//8bit 1byte{if(data 0x80)//取出最高位{I2C_SDA_H;}else{I2C_SDA_L;}delay_us(delay_time);I2C_SCL_H;delay_us(delay_time);I2C_SCL_L;if(i 7){I2C_SDA_H;//释放总线}data 1;delay_us(delay_time);} }5、接收一个字节数据 #define I2C_SDA_READ gpio_input_bit_get(GPIO_PORT_I2C,GPIO_SDA_I2C)unsigned char i2c_readbyte() {unsigned char i;unsigned char data 0x00;for(i 0; i 8; i){data 1;I2C_SCL_H;delay_us(delay_time);if(I2C_SDA_READ){data | 0x01;//存入数据}I2C_SCL_L;delay_us(delay_time);}return data; }6、产生一个ACK信号 SCL为低电平时SDA写入低电平SCL为高电平时SDA读取低电平读取完成后将SDA拉高 /* SCL /————————\_______/ \________________SDA /————————————————————————————————————__________________________/ */ void i2c_ack() {I2C_SDA_L;delay_us(delay_time);I2C_SCL_H;delay_us(delay_time);I2C_SCL_L;delay_us(delay_time);I2C_SDA_H; }7、产生一个NACK信号 void i2c_nack() {I2C_SDA_H;delay_us(delay_time);I2C_SCL_H;delay_us(delay_time);I2C_SCL_L;delay_us(delay_time); }8、检测是否从机是否返回ACK //0:表示ACK 1:表示NACK unsigned char i2c_read_ack() {unsigned char re;I2C_SDA_H;delay_us(delay_time);I2C_SCL_H;delay_us(delay_time);if(I2C_SDA_READ) re 1;else re 0;I2C_SCL_L;delay_us(delay_time);return re; }9、发送地址和读操作并读回一个字节数据 unsigned char read_data() {i2c_start();//启动信号i2c_sendbyte(iic_addr | 0x01);//发送地址和读位if(i2c_read_ack()) return 0;//如果没有读到ACK终止执行。unsigned char data i2c_readbyte();//读取数据i2c_stop();//发送终止信号return data;//返回接收的数据 }
http://www.tj-hxxt.cn/news/228933.html

相关文章:

  • 湖南营销类网站设计运城网站开发
  • 招远市建设局网站项目网上备案查询系统
  • 网站建设运营企划案东莞seo整站优化代理
  • 江西合创建设工程有限公司 网站做网站的回扣
  • 安庆做网站的公司网站后台管理系统ie8用不了
  • 网站开发是怎么开发的小程序互动投票
  • 东营有能做网站优化Wordpress西联
  • 建网站seo设计网页推荐
  • 外贸营销型网站制作网站建设翻译
  • 建立网站一般会遇到什么问题网站建设套
  • 在成都如何找到做网站的公司如何改wordpress主页
  • 商务网站设计实训报告网站后台空间满了怎么办
  • 企业网站的建设流程包含哪些环节?什么是建设网站的主题
  • 机械手表网站网站内页权重
  • 导购网站怎么做wordpress $limit
  • 网页制作网站开发流程网站建设外包给外企
  • 手机优化网站建设合肥学校网站建设
  • 网站建设 青少年宫网站的格式分类
  • 西城顺德网站建设厦门公司注册网址
  • 外企公司网站开发设计注册网站怎么注册不了
  • 网站的积分系统怎么做的开发一个网站多少钱
  • cc域名有哪些知名网站专业网站制作哪家专业
  • 长沙建设工程官方网站网站程序开发技术
  • 网站开发发送短信成都旅游必去十大景点推荐冬天
  • 西部数码网站管理助手c盘安装做网站要学什么c语言
  • 南通云网站建设网站建设路由器怎么设置
  • 红色网站建设的比较好的高校石家庄建设
  • 免费产品网站建设建设网站需要的资源
  • 个人创建网站程序网络优化培训要多少钱
  • 网站建设定义是什么意思it运维网