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

国内电子商务网站有哪些网站建站网站

国内电子商务网站有哪些,网站建站网站,商务厅网站建设意见,做企业网站的步骤一、前言 这将是"物联网Lora模块从入门到精通"系列的最后一篇文章,相信各位同僚通过前面八篇文章的分享已经极好的掌握了Lora模块的编程,本文的Flash的读取与存储将是Lora模块开发的最后一块,感谢大家的陪伴与支持! 希望…

一、前言

        这将是"物联网Lora模块从入门到精通"系列的最后一篇文章,相信各位同僚通过前面八篇文章的分享已经极好的掌握了Lora模块的编程,本文的Flash的读取与存储将是Lora模块开发的最后一块,感谢大家的陪伴与支持!

        希望大家能在学习的道路上越走越远,不忘初心,砥砺前行!

二、代码实现

        本次的任务要求是记录程序重启的次数。

        在提供给我们的标准例程中,为我们提供了操作Flash的方法,包括读和写。这些方法包含在flash.c的库中:

/**********************************************************************************************
*函数:void STMFLASH_Write(uint32_t WriteAddr,uint32_t *pBuffer,uint32_t NumToWrite)
*功能:读取EEPROM数组写入操作
*输入:WriteAddr:起始地址pBuffer:数据指针NumToWrite:字(32位)数
*输出:无
*特殊说明:无
**********************************************************************************************/
void STMFLASH_Write(uint32_t WriteAddr,uint32_t *pBuffer,uint32_t NumToWrite)
{HAL_FLASH_Unlock();//锁住FLASHHAL_FLASHEx_DATAEEPROM_Unlock(); //解锁FLASH//擦除FLASHFLASH_EraseInitTypeDef FLASH_EraseTypeDef;//初始化FLASH_EraseInitTypeDefFLASH_EraseTypeDef.TypeErase = FLASH_TYPEERASE_PAGES;FLASH_EraseTypeDef.PageAddress = WriteAddr;FLASH_EraseTypeDef.NbPages = 1;uint32_t PageError = 0;//设置PageErrorHAL_FLASHEx_Erase(&FLASH_EraseTypeDef, &PageError);//调用擦除函数uint32_t i;for(i=0; i<NumToWrite; i++){HAL_FLASHEx_DATAEEPROM_Program(TYPEPROGRAM_WORD, WriteAddr, pBuffer[i]);//FLASH_ProgramHalfWord(WriteAddr,pBuffer[i]);WriteAddr+=4;//地址增加4.}HAL_FLASHEx_DATAEEPROM_Lock();//锁住FLASHHAL_FLASH_Lock();//锁住FLASH
}//从指定地址开始读出指定长度的数据
//ReadAddr:起始地址
//pBuffer:数据指针
//NumToWrite:字(32位)数
void STMFLASH_Read(uint32_t ReadAddr,uint32_t *PBuffer,uint32_t NumToRead)
{uint32_t i;for(i=0; i<NumToRead; i++){PBuffer[i]=STMFLASH_ReadWord(ReadAddr);//读取4个字节.ReadAddr+=4;//偏移4个字节.}
}

        我们开发板使用的芯片是STM32F103C8T6,根据芯片的开发手册,我们可操作的内存地址是从0x0800E000开始的,因此我们使用其作为我们写Flash数据的地址。

        根据上述函数的描述,我们先声明一个uint32_t类型的数组,将其作为数据存储的容器。

        由于我们需要记录程序重启的次数,因此我们需要先对该地址写一个初值0。

        随后,我们可以正式开始我们的代码工作,即上电后将数据读出,对数据执行+1操作后再次存入Flash。

uint32_t data[1];
int main( void )
{STMFLASH_Read(0x0800E000,data,1);//读取数据data[0]++;STMFLASH_Write(0x0800E000,data,1);//写入FLASHwhile( 1 ){//程序代码}
}

        至此,我们便完成了FLASH的读取与存储操作。

        我们增加任务内容,即可以使用按键控制增加、减少、或清空记录数。

uint32_t data[1];
int main( void )
{STMFLASH_Read(0x0800E000,data,1);//读取数据data[0]++;STMFLASH_Write(0x0800E000,data,1);//写入FLASHwhile( 1 ){if(isKey2Pressed()){STMFLASH_Read(0x0800E000,data,1);//读取数据data[0]--;STMFLASH_Write(0x0800E000,data,1);//写入FLASHresetKey2();}if(isKey3Pressed()){STMFLASH_Read(0x0800E000,data,1);//读取数据data[0]++;STMFLASH_Write(0x0800E000,data,1);//写入FLASHresetKey3();}if(isKey4Pressed()){STMFLASH_Read(0x0800E000,data,1);//读取数据data[0]=0;STMFLASH_Write(0x0800E000,data,1);//写入FLASHresetKey4();}}
}

        在Flash的读取与存储中,由于某些不可控因素,写之前建议大家先读取Flash内的内容后再次更更改,随更随改,增加程序的稳定性,避免发生意外情况。

三、总结

        至此,我们也已经完成了Lora模块的全部学习,后续我会继续分享STM32开发的其他知识,感谢大家关注。

http://www.r43.cn/news/129072.html

相关文章:

  • 新疆建设云网站施工图审查广告软文范例200字
  • 做微博分析的网站站长之家域名查询鹿少女
  • 珠海企业网站建设安卓优化大师下载安装
  • 网站的设计与开发的图片seo外链平台
  • 做进化树的网站每日军事新闻
  • 做课件ppt网站网站运营管理
  • 桂林网站建设动服卖照明电源设营销渠道名词解释
  • 天水市建设局企业注册网站在线制作网页网站
  • 电商销售渠道有哪些seo公司推荐推广平台
  • 福建网站建设一键优化清理
  • 美食网站代做淄博seo网络公司
  • 什么网站可以学习建设工程法律实践基本seo技术在线咨询
  • 响应式建站工具简述获得友情链接的途径
  • 怎么删除网站死链销售策略和营销策略
  • 自己做网站怎么买域名网络项目平台
  • 电脑网站策划书西地那非片的正确服用方法
  • 网站建设功能解说网络营销职业规划300字
  • 如何写wordpress主题武汉seo计费管理
  • 哪里做网站一套一百指定关键词排名优化
  • 手机网站开发计划郑州百度推广公司地址
  • 事务所网站建设搜索引擎优化专员
  • 招生网站制作深圳全网营销型网站
  • 旅游网站建设系统情感链接
  • 营销型企业网站的策划方案seo指什么
  • 项城市建设方案公示在哪个网站班级优化大师下载安装
  • 清远网站开发公司app拉新推广赚佣金
  • 电子商务网站总体框架设计关键词优化难度查询
  • 宁德5g网站建设公司外贸国际网站推广
  • 台州网站怎么推广怎么做公司网站
  • 河北seo优化_网络建设营销_网站推广服务 - 河北邢台seo滴滴友链