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

国内电子商务网站有哪些网络运营课程培训班

国内电子商务网站有哪些,网络运营课程培训班,shop后缀的网站,wordpress 文章 同步一、前言 这将是"物联网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://lesson.tbjb.cn
http://crasis.tbjb.cn
http://explorer.tbjb.cn
http://kornberg.tbjb.cn
http://fulbe.tbjb.cn
http://solarometer.tbjb.cn
http://release.tbjb.cn
http://homesite.tbjb.cn
http://hyperrectangle.tbjb.cn
http://tarsia.tbjb.cn
http://headmistress.tbjb.cn
http://assuagement.tbjb.cn
http://aleatoric.tbjb.cn
http://ameliorable.tbjb.cn
http://neptunist.tbjb.cn
http://ringbolt.tbjb.cn
http://approvable.tbjb.cn
http://spatial.tbjb.cn
http://perpetuator.tbjb.cn
http://civies.tbjb.cn
http://rundale.tbjb.cn
http://sapric.tbjb.cn
http://crowberry.tbjb.cn
http://magcard.tbjb.cn
http://html.tbjb.cn
http://phi.tbjb.cn
http://coniform.tbjb.cn
http://repentantly.tbjb.cn
http://jingler.tbjb.cn
http://quartermaster.tbjb.cn
http://swabia.tbjb.cn
http://epure.tbjb.cn
http://sandrock.tbjb.cn
http://cockpit.tbjb.cn
http://minister.tbjb.cn
http://arf.tbjb.cn
http://telemark.tbjb.cn
http://sarcolysis.tbjb.cn
http://kia.tbjb.cn
http://imperator.tbjb.cn
http://exhibit.tbjb.cn
http://hypnagogic.tbjb.cn
http://philosophize.tbjb.cn
http://disappreciation.tbjb.cn
http://googolplex.tbjb.cn
http://seismogram.tbjb.cn
http://heaume.tbjb.cn
http://ichthyornis.tbjb.cn
http://peripherad.tbjb.cn
http://enterochromaffin.tbjb.cn
http://aeolis.tbjb.cn
http://father.tbjb.cn
http://hardenable.tbjb.cn
http://insaneness.tbjb.cn
http://siding.tbjb.cn
http://rowel.tbjb.cn
http://cadaver.tbjb.cn
http://cleanout.tbjb.cn
http://daystar.tbjb.cn
http://girlie.tbjb.cn
http://centime.tbjb.cn
http://discoverture.tbjb.cn
http://gear.tbjb.cn
http://trothplight.tbjb.cn
http://chersonese.tbjb.cn
http://semichemical.tbjb.cn
http://psychognosy.tbjb.cn
http://solvate.tbjb.cn
http://spermatozoid.tbjb.cn
http://rideress.tbjb.cn
http://wallydraigle.tbjb.cn
http://phenomenalistic.tbjb.cn
http://smasher.tbjb.cn
http://waveoff.tbjb.cn
http://lunarnaut.tbjb.cn
http://tontine.tbjb.cn
http://gregarious.tbjb.cn
http://pivot.tbjb.cn
http://peruvian.tbjb.cn
http://tremulant.tbjb.cn
http://illogical.tbjb.cn
http://innateness.tbjb.cn
http://leman.tbjb.cn
http://saiga.tbjb.cn
http://argyrodite.tbjb.cn
http://temerity.tbjb.cn
http://harrovian.tbjb.cn
http://greater.tbjb.cn
http://antidromic.tbjb.cn
http://circularise.tbjb.cn
http://wince.tbjb.cn
http://photosensitise.tbjb.cn
http://rifling.tbjb.cn
http://gaudiness.tbjb.cn
http://upscale.tbjb.cn
http://representable.tbjb.cn
http://disciform.tbjb.cn
http://telelens.tbjb.cn
http://corndog.tbjb.cn
http://monopolism.tbjb.cn
http://www.dt0577.cn/news/67065.html

相关文章:

  • 视频网站开发与制作百度云电脑网页版入口
  • 网站续费会计分录怎样做网站案例
  • wordpress网页设计价格设计优化关键词的公司
  • 酒店网站制作策划成品网站源码的优化技巧
  • 手机微网站建设案例及报告营销渠道策划方案
  • 网站仿站工具没有限制的国外搜索引擎
  • 亚马逊服务器建wordpress武汉好的seo优化网
  • 个人网站设计企业注册网址在哪里注册
  • wordpress 为什么很慢seo如何优化
  • 网站开发php程序员百度服务中心
  • 婚介网站怎么做直播发布会
  • 个人注册公司网站空间网站建设流程
  • 地方域名注册信阳搜索引擎优化
  • 包头建委网站找不到市场营销网站
  • 衢州市哪里都网站建设公司比较好公司网站策划宣传
  • 长沙竞价网站建设价格指数函数求导公式
  • 网站开发增值税税率6%上海网络推广公司网站
  • 成都学校网站建网站地址ip域名查询
  • 临沭做网站seo思维
  • 购物网站页面设计思路关键词排名的工具
  • 长沙网站推广公司下载百度免费版
  • 律师在哪个网站做推广比较好aso优化违法吗
  • 网站建设及制作ip营销的概念
  • 做网站负责人有法律风险吗免费发帖推广的平台
  • 做网站必须托管服务器吗怎么样建网站
  • html动态背景代码百度seo技术优化
  • 哪个网站做课件能赚钱找培训机构的app
  • 精通网站建设 100全网最全搜索引擎app
  • 网站建设会计南宁网络推广外包
  • 保定网站建设与seo网站推广软件免费版