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

做upc条形码的网站怎么开一个属于自己的网店

做upc条形码的网站,怎么开一个属于自己的网店,陕西响应式网站建设,frontpage建设网站的图片文章目录 一.概要二.IIC总线基本概念1.总体特征2.通讯流程 三.EEPROM介绍1.M24C08基本介绍2.向M24C08写一个字节时序图3.从M24C08读一个字节时序图 四.GPIO模拟IIC驱动M24C08读写五.CubeMX工程源代码下载六.讲解视频链接地址七.小结 一.概要 IIC(Inter#xff0d;Integrated … 文章目录 一.概要二.IIC总线基本概念1.总体特征2.通讯流程 三.EEPROM介绍1.M24C08基本介绍2.向M24C08写一个字节时序图3.从M24C08读一个字节时序图 四.GPIO模拟IIC驱动M24C08读写五.CubeMX工程源代码下载六.讲解视频链接地址七.小结 一.概要 IIC(InterIntegrated Circuit)总线是一种由NXP原PHILIPS公司开发的两线式串行总线用于连接微控制器及其外围设备。多用于主控制器和从器件间的主从通信在小数据量场合使用传输距离短任意时刻只能有一个主机等特性。 二.IIC总线基本概念 I2C 总线分别由SDA(串行数据线)和SCL(串行时钟线)及上拉电阻组成。 1.总体特征 2.通讯流程 三.EEPROM介绍 EEPROM Electrically Erasable Programmable Read Only Memory 全称是电可擦除可编程只读存储器是非易失存储器可以访问到每个字节容量比较小。目前的EEPROM一般是IIC接口或者SPI接口的。 1.M24C08基本介绍 M24C08是ST公司(意法半导体公司)的串行接口的EEPROM存储芯片,它的容量是8K bit。 ​ 芯片功能描述 M24C08系列支持I2C总线数据传送协议I2C总线协议规定任何将数据传送到总线的器件作为发送器。任何从总线接收数据的器件为接收器数据传送是由产生串行时钟和所有起始停止信号的主器件控制的。主器件和从器件都可以作为发送器或接收器但由主器件控制传送数据发送或接收的模式。 芯片特性介绍 1.两线串行接口(SDA、SCL) 2.有用于硬件数据保护的写保护引脚 3.自定时写入周期(5毫秒),因为内部有页缓冲区,向M24C08写入数据之后,还需要等待M24C08将缓冲区数据写入到内部EEPROM区域 4.数据保存可达100年 5.100万次擦写周期 6.高数据传送速率为400KHz、低速100KHZ和IIC总线兼容 7.16字节页写缓冲区 这个缓冲区大小与芯片具体型号有关: 8字节页1K、2K、16字节页4K、8K、16K M24C08的E2(3脚)一般接地E1,E0是容量大点的EEPROM才有这样M24C08这个器件,写操作时候的地址就是0xA0读操作时候的地址是0xA1。 2.向M24C08写一个字节时序图 写操作过程中只有ACK是M24C08发出的其他信号都是单片机发出的。 3.从M24C08读一个字节时序图 读操作过程中ACK跟返回的数据是M24C08发出的其他信号都是单片机发出的。 四.GPIO模拟IIC驱动M24C08读写 硬件准备 STLINK接STM32F103C8T6小系统板STLINK接电脑USB口, STM32F103C8T6小系统板跟EEPROM模块连接 板子G----模块GND 板子3.3–模块VCC 板子PB10—模块SCL 板子PB11—模块SDA 打开STM32CubeMX软件,新建工程 Part Number处输入STM32F103C8再双击就创建新的工程 配置下载口引脚 配置外部晶振引脚 配置系统主频 配置工程文件名保存路径KEIL5工程输出方式 生成工程 用Keil5打开工程 添加代码 主要代码 int main(void) {/* USER CODE BEGIN 1 *//* USER CODE END 1 *//* MCU Configuration--------------------------------------------------------*//* Reset of all peripherals, Initializes the Flash interface and the Systick. */HAL_Init();/* USER CODE BEGIN Init *//* USER CODE END Init *//* Configure the system clock */SystemClock_Config();//8M外部晶振系统主频72M/* USER CODE BEGIN SysInit *//* USER CODE END SysInit *//* Initialize all configured peripherals */MX_GPIO_Init();/* USER CODE BEGIN 2 */EE_IIC_Init();//管脚初始化EE_EE_IIC_SendByteToSlave(0xA0,0x00,0x55);//0地址写入0x55HAL_Delay(10);//等待10msEE_IIC_ReadByteFromSlave(0xA0,0x00,EEDATA);//从0地址读取内容存储到变量/* USER CODE END 2 *//* Infinite loop *//* USER CODE BEGIN WHILE */while (1){/* USER CODE END WHILE *//* USER CODE BEGIN 3 */}/* USER CODE END 3 */ }#include main.h #define EE_ADDR 0xa0 #define EE_SCL_PIN GPIO_PIN_10 //模拟IIC的SCL信号 1.修改引脚即可修改IIC接口 #define EE_SDA_PIN GPIO_PIN_11 //模拟IIC的SDA信号void EE_SDA_IN(void) //配置成输入 { GPIO_InitTypeDef GPIO_InitStruct {0};GPIO_InitStruct.Pin GPIO_PIN_11;GPIO_InitStruct.Mode GPIO_MODE_INPUT;GPIO_InitStruct.Pull GPIO_NOPULL;GPIO_InitStruct.Speed GPIO_SPEED_FREQ_LOW;HAL_GPIO_Init(GPIOB, GPIO_InitStruct); } void EE_SDA_OUT(void)//配置成输出 {GPIO_InitTypeDef GPIO_InitStruct {0};GPIO_InitStruct.Pin GPIO_PIN_11;GPIO_InitStruct.Mode GPIO_MODE_OUTPUT_OD;GPIO_InitStruct.Pull GPIO_NOPULL;GPIO_InitStruct.Speed GPIO_SPEED_FREQ_LOW;HAL_GPIO_Init(GPIOB, GPIO_InitStruct);}void EE_SCK_OUT(void) //配置成输出 {GPIO_InitTypeDef GPIO_InitStruct {0};GPIO_InitStruct.Pin GPIO_PIN_10;GPIO_InitStruct.Mode GPIO_MODE_OUTPUT_OD;GPIO_InitStruct.Pull GPIO_NOPULL;GPIO_InitStruct.Speed GPIO_SPEED_FREQ_LOW;HAL_GPIO_Init(GPIOB, GPIO_InitStruct); }#define EE_IIC_SCL(val) HAL_GPIO_WritePin(GPIOB, GPIO_PIN_10,val) //SCL 2.修改引脚即可修改IIC接口 #define EE_IIC_SDA(val) HAL_GPIO_WritePin(GPIOB, GPIO_PIN_11,val) //SDA unsigned char EE_READ_SDA(void) { return HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_11); } /****************************************************************************** *函 数void EE_IIC_Delay(void) *功 能IIC延时 *参 数无 *返回值无 *备 注: 移植时只需要将EE_IIC_Delay()换成自己的延时即可 *******************************************************************************/ void EE_IIC_Delay(uint8_t us) {for(int i 0; i 20; i) {__asm(NOP);//core bus 160M 情况下大概IIC速率 400K}} /****************************************************************************** *函 数void IIC_Init(void) *功 能IIC初始化 *参 数无 *返回值无 *备 注无 *******************************************************************************/void EE_IIC_Init(void) { __HAL_RCC_GPIOB_CLK_ENABLE();EE_SCK_OUT();EE_SDA_OUT();EE_IIC_SCL(1);EE_IIC_SDA(1);}void EE_IIC_Start(void) {EE_SDA_OUT(); //sda线输出 EE_IIC_SDA(1); EE_IIC_SCL(1);EE_IIC_Delay(4);EE_IIC_SDA(0); //START:when CLK is high,DATA change form high to low EE_IIC_Delay(4);EE_IIC_SCL(0); //钳住I2C总线准备发送或接收数据 }void EE_IIC_Stop(void) {EE_SDA_OUT(); //sda线输出EE_IIC_SCL(0);EE_IIC_SDA(0); //STOP:when CLK is high DATA change form low to highEE_IIC_Delay(4);EE_IIC_SCL(1); EE_IIC_SDA(1); //发送I2C总线结束信号EE_IIC_Delay(4); }uint8_t EE_IIC_WaitAck(void) {uint8_t ucErrTime0;EE_SDA_IN(); //SDA设置为输入 从机给一个低电平做为应答 EE_IIC_SDA(1);EE_IIC_Delay(1); EE_IIC_SCL(1);EE_IIC_Delay(1);; while(EE_READ_SDA()){ucErrTime;if(ucErrTime250){EE_IIC_Stop();return 1;}}EE_IIC_SCL(0); //时钟输出0 return 0; } void EE_IIC_Ack(void) {EE_IIC_SCL(0);EE_SDA_OUT();EE_IIC_SDA(0);EE_IIC_Delay(1);EE_IIC_SCL(1);EE_IIC_Delay(2);EE_IIC_SCL(0); }void EE_IIC_NAck(void) {EE_IIC_SCL(0);EE_SDA_OUT();EE_IIC_SDA(1);EE_IIC_Delay(1);EE_IIC_SCL(1);EE_IIC_Delay(1);EE_IIC_SCL(0); } void EE_IIC_SendByte(uint8_t data) { uint8_t t; EE_SDA_OUT(); EE_IIC_SCL(0); //拉低时钟开始数据传输for(t0;t8;t){ EE_IIC_SDA((data0x80)7);EE_IIC_Delay(1); EE_IIC_SCL(1);data1;EE_IIC_Delay(1);EE_IIC_SCL(0); }EE_IIC_Delay(1); } uint8_t EE_IIC_ReadByte(uint8_t ack) {uint8_t i,receive0;EE_SDA_IN(); //SDA设置为输入模式 等待接收从机返回数据for(i0;i8;i ){EE_IIC_SCL(0); EE_IIC_Delay(1);EE_IIC_SCL(1);receive1;if(EE_READ_SDA())receive; //从机发送的电平EE_IIC_Delay(1); } if(ack)EE_IIC_Ack(); //发送ACK elseEE_IIC_NAck(); //发送nACK return receive; }uint8_t EE_IIC_ReadByteFromSlave(uint8_t I2C_Addr,uint8_t reg,uint8_t *buf) {EE_IIC_Start(); EE_IIC_SendByte(I2C_Addr); //发送从机地址if(EE_IIC_WaitAck()) //如果从机未应答则数据发送失败{EE_IIC_Stop();return 1;}EE_IIC_SendByte(reg); //发送寄存器地址EE_IIC_WaitAck(); EE_IIC_Start();EE_IIC_SendByte(I2C_Addr1); //进入接收模式 EE_IIC_WaitAck();*bufEE_IIC_ReadByte(0); EE_IIC_Stop(); //产生一个停止条件return 0; }uint8_t EE_EE_IIC_SendByteToSlave(uint8_t I2C_Addr,uint8_t reg,uint8_t data) {EE_IIC_Start();EE_IIC_SendByte(I2C_Addr); //发送从机地址if(EE_IIC_WaitAck()){EE_IIC_Stop();return 1; //从机地址写入失败}EE_IIC_SendByte(reg); //发送寄存器地址EE_IIC_WaitAck(); EE_IIC_SendByte(data); if(EE_IIC_WaitAck()){EE_IIC_Stop(); return 1; //数据写入失败}EE_IIC_Stop(); //产生一个停止条件return 0; } 五.CubeMX工程源代码下载 链接https://pan.baidu.com/s/1MMYww6IgUNa3wPaN-pWqdw 提取码d39f 如果链接失效可以联系博主给最新链接 程序下载下来之后解压就行 六.讲解视频链接地址 IIC总线讲解 七.小结 学会使用模拟IIC能适应各种平台不管是STM32的单片机还是其他牌子的单片机都能很快实现对EEPROM等IIC总线的设备进行数据读写。
文章转载自:
http://www.morning.cmcjp.cn.gov.cn.cmcjp.cn
http://www.morning.mftzm.cn.gov.cn.mftzm.cn
http://www.morning.rfpb.cn.gov.cn.rfpb.cn
http://www.morning.sbjbs.cn.gov.cn.sbjbs.cn
http://www.morning.ftmzy.cn.gov.cn.ftmzy.cn
http://www.morning.rsszk.cn.gov.cn.rsszk.cn
http://www.morning.jnhhc.cn.gov.cn.jnhhc.cn
http://www.morning.ai-wang.cn.gov.cn.ai-wang.cn
http://www.morning.rbkl.cn.gov.cn.rbkl.cn
http://www.morning.rxwnc.cn.gov.cn.rxwnc.cn
http://www.morning.rnhh.cn.gov.cn.rnhh.cn
http://www.morning.gxhqt.cn.gov.cn.gxhqt.cn
http://www.morning.ykrck.cn.gov.cn.ykrck.cn
http://www.morning.yyngs.cn.gov.cn.yyngs.cn
http://www.morning.rwdbz.cn.gov.cn.rwdbz.cn
http://www.morning.mxhcf.cn.gov.cn.mxhcf.cn
http://www.morning.ngcbd.cn.gov.cn.ngcbd.cn
http://www.morning.nlrp.cn.gov.cn.nlrp.cn
http://www.morning.rhkq.cn.gov.cn.rhkq.cn
http://www.morning.xinyishufa.cn.gov.cn.xinyishufa.cn
http://www.morning.rcklc.cn.gov.cn.rcklc.cn
http://www.morning.gbfuy28.cn.gov.cn.gbfuy28.cn
http://www.morning.lktjj.cn.gov.cn.lktjj.cn
http://www.morning.xlclj.cn.gov.cn.xlclj.cn
http://www.morning.cwwbm.cn.gov.cn.cwwbm.cn
http://www.morning.qscsy.cn.gov.cn.qscsy.cn
http://www.morning.drwpn.cn.gov.cn.drwpn.cn
http://www.morning.qmncj.cn.gov.cn.qmncj.cn
http://www.morning.tkjh.cn.gov.cn.tkjh.cn
http://www.morning.hlhqs.cn.gov.cn.hlhqs.cn
http://www.morning.qnsmk.cn.gov.cn.qnsmk.cn
http://www.morning.kpmxn.cn.gov.cn.kpmxn.cn
http://www.morning.ljbch.cn.gov.cn.ljbch.cn
http://www.morning.wlgpz.cn.gov.cn.wlgpz.cn
http://www.morning.bmzxp.cn.gov.cn.bmzxp.cn
http://www.morning.cgthq.cn.gov.cn.cgthq.cn
http://www.morning.rjtmg.cn.gov.cn.rjtmg.cn
http://www.morning.ztcxx.com.gov.cn.ztcxx.com
http://www.morning.xqknl.cn.gov.cn.xqknl.cn
http://www.morning.nxbsq.cn.gov.cn.nxbsq.cn
http://www.morning.mztyh.cn.gov.cn.mztyh.cn
http://www.morning.ltzkk.cn.gov.cn.ltzkk.cn
http://www.morning.mhlkc.cn.gov.cn.mhlkc.cn
http://www.morning.hkysq.cn.gov.cn.hkysq.cn
http://www.morning.nhzzn.cn.gov.cn.nhzzn.cn
http://www.morning.kfsfm.cn.gov.cn.kfsfm.cn
http://www.morning.lpcct.cn.gov.cn.lpcct.cn
http://www.morning.nylbb.cn.gov.cn.nylbb.cn
http://www.morning.nwzcf.cn.gov.cn.nwzcf.cn
http://www.morning.tntbs.cn.gov.cn.tntbs.cn
http://www.morning.zmzdx.cn.gov.cn.zmzdx.cn
http://www.morning.xfjwm.cn.gov.cn.xfjwm.cn
http://www.morning.lkxzb.cn.gov.cn.lkxzb.cn
http://www.morning.kkrnm.cn.gov.cn.kkrnm.cn
http://www.morning.yfrlk.cn.gov.cn.yfrlk.cn
http://www.morning.dnqlba.cn.gov.cn.dnqlba.cn
http://www.morning.mwnch.cn.gov.cn.mwnch.cn
http://www.morning.jcbjy.cn.gov.cn.jcbjy.cn
http://www.morning.elsemon.com.gov.cn.elsemon.com
http://www.morning.jhtrb.cn.gov.cn.jhtrb.cn
http://www.morning.jfjqs.cn.gov.cn.jfjqs.cn
http://www.morning.sgbjh.cn.gov.cn.sgbjh.cn
http://www.morning.krnzm.cn.gov.cn.krnzm.cn
http://www.morning.mhnxs.cn.gov.cn.mhnxs.cn
http://www.morning.xbdd.cn.gov.cn.xbdd.cn
http://www.morning.xpzrx.cn.gov.cn.xpzrx.cn
http://www.morning.jhxdj.cn.gov.cn.jhxdj.cn
http://www.morning.tlzbt.cn.gov.cn.tlzbt.cn
http://www.morning.jxgyg.cn.gov.cn.jxgyg.cn
http://www.morning.baohum.com.gov.cn.baohum.com
http://www.morning.mkrjf.cn.gov.cn.mkrjf.cn
http://www.morning.kdbcx.cn.gov.cn.kdbcx.cn
http://www.morning.oumong.com.gov.cn.oumong.com
http://www.morning.kjcll.cn.gov.cn.kjcll.cn
http://www.morning.ygmw.cn.gov.cn.ygmw.cn
http://www.morning.wfysn.cn.gov.cn.wfysn.cn
http://www.morning.rhjsx.cn.gov.cn.rhjsx.cn
http://www.morning.hffjj.cn.gov.cn.hffjj.cn
http://www.morning.nkkpp.cn.gov.cn.nkkpp.cn
http://www.morning.gcfrt.cn.gov.cn.gcfrt.cn
http://www.tj-hxxt.cn/news/237002.html

相关文章:

  • 这个网站 做学术检索非常棒商业空间设计方案
  • 南昌珠峰网站建设微信小程序开发公司排名
  • wordpress 查看站点珠海网站建设怎样
  • 建站赚钱灰色来返苏州人员信息登记平台
  • 做网站贷款学做网
  • 网站建设模版文档摄影网页设计模板
  • app网站及其特色网页ui设计模板
  • 有哪些可以做推广的网站wordpress数据名
  • 10月哪个网站做电影票活动设计师兼职网站
  • 服务器怎么做网站财经投资公司网站建设方案
  • 网站建设与维护笔记北京 房地产 网站建设
  • 厦门市集美区建设局网站有家装饰有限公司地址
  • 最牛视频网站建设博兴县建设局网站
  • 网站建设人员叫什么做导航网站怎么赚钱
  • 2015选择做导航网站信息技术网站建设市场分析
  • 广告公司做网站的效果怎么样知名wordpress博客
  • 重庆做网站需要多少钱购物平台大全
  • 原型图网站手机网页素材
  • 网站开发如何查看请求体手机oa办公系统下载
  • 如果网站不备案wordpress时间线
  • 做中小型网站最好的架构微网站的好处
  • html网页素材青岛网站优化快速排名
  • 营销型企业网站案例分析昆山网站优化公司
  • 网站素材图片wordpress主页链接失效
  • 合肥网站制作专业怎么做网站管理系统
  • 搭建网站代码广州市越秀区
  • 阿里巴巴1688网站做店铺六安做网站公司
  • 上海赶集网站建设什么软件做美食视频网站
  • 兰州高端网站计算机编程培训班
  • 做守望先锋h的网站英语可以做推广的亲子类网站