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

怎样增加网站会员量什么是企业营销型网站

怎样增加网站会员量,什么是企业营销型网站,做单页网站怎么选产品,甘肃电子商务网站建设应用平台:STM32F030F4P6ST官方库:STM32Cube_FW_F0_V1.9.0 背景知识 绝大多数的单片机和微控制器(ARM,x86),地址空间都是以字节为单位的,也就是说一个地址是一个字节。Flash存储器有个特点,就是只能写0&…
  • 应用平台:STM32F030F4P6
  • ST官方库:STM32Cube_FW_F0_V1.9.0

背景知识


  • 绝大多数的单片机和微控制器(ARM,x86),地址空间都是以字节为单位的,也就是说一个地址是一个字节。
  • Flash存储器有个特点,就是只能写0,不能写1。所以如果原来的地址有数据了,意味着有一些位为0,这些位就相当于无效了。所以必须写之前确保他们都为1,只有擦除才可以。另外每次擦除都必须擦除一个4K大小的扇区,这是flash的特性所决定的。
  • 对Flash操作前必需打开内部振荡器。

参考:stm32的学习—FLASH的操作和使用
STM32F030F4P6的Flash存储简介

STM32F030F4P6硬件配置:  FLASH (16KB)  RAM (4KB)
(包含4个扇区,1个扇区包含4个页,每页有1Kbyte空间)
用户可以对Flash进行programerase 操作。

Main Flash memory programming
The main Flash memory can be programmed 16 bits at a time.
Flash memory erase
The Flash memory can be erased page by page or completely (Mass Erase).
这里写图片描述

Flash memory addressesSize(byte)NameDescription
0x0800 0000 - 0x0800 03FF1 KbytePage 0Sector 0
0x0800 0400 - 0x0800 07FF1 KbytePage 1Sector 0
0x0800 0800 - 0x0800 0BFF1 KbytePage 2Sector 0
0x0800 0C00 - 0x0800 0FFF1 KbytePage 3Sector 0
0x0800 1000 - 0x0800 13FF1 KbytePage 4Sector 1
0x0800 1400 - 0x0800 17FF1 KbytePage 5Sector 1
0x0800 1800 - 0x0800 1BFF1 KbytePage 6Sector 1
0x0800 1C00 - 0x0800 1FFF1 KbytePage 7Sector 1
0x0800 2000 - 0x0800 23FF1 KbytePage 8Sector 2
0x0800 2400 - 0x0800 27FF1 KbytePage 9Sector 2
0x0800 2800 - 0x0800 2BFF1 KbytePage 10Sector 2
0x0800 2C00 - 0x0800 2FFF1 KbytePage 11Sector 2
0x0800 3000 - 0x0800 33FF1 KbytePage 12Sector 3
0x0800 3400 - 0x0800 37FF1 KbytePage 13Sector 3
0x0800 3800 - 0x0800 3BFF1 KbytePage 14Sector 3
0x0800 3C00 - 0x0800 3FFF1 KbytePage 15Sector 3
STM32F030F4P6的Flash读写参考代码(HAL库)
/* Base address of the Flash sectors */
#define ADDR_FLASH_PAGE_0     ((uint32_t)0x08000000) /* Base @ of Page 0, 1 Kbyte */
#define ADDR_FLASH_PAGE_1     ((uint32_t)0x08000400) /* Base @ of Page 1, 1 Kbyte */
#define ADDR_FLASH_PAGE_2     ((uint32_t)0x08000800) /* Base @ of Page 2, 1 Kbyte */
#define ADDR_FLASH_PAGE_3     ((uint32_t)0x08000C00) /* Base @ of Page 3, 1 Kbyte */
#define ADDR_FLASH_PAGE_4     ((uint32_t)0x08001000) /* Base @ of Page 4, 1 Kbyte */
#define ADDR_FLASH_PAGE_5     ((uint32_t)0x08001400) /* Base @ of Page 5, 1 Kbyte */
#define ADDR_FLASH_PAGE_6     ((uint32_t)0x08001800) /* Base @ of Page 6, 1 Kbyte */
#define ADDR_FLASH_PAGE_7     ((uint32_t)0x08001C00) /* Base @ of Page 7, 1 Kbyte */
#define ADDR_FLASH_PAGE_8     ((uint32_t)0x08002000) /* Base @ of Page 8, 1 Kbyte */
#define ADDR_FLASH_PAGE_9     ((uint32_t)0x08002400) /* Base @ of Page 9, 1 Kbyte */
#define ADDR_FLASH_PAGE_10    ((uint32_t)0x08002800) /* Base @ of Page 10, 1 Kbyte */
#define ADDR_FLASH_PAGE_11    ((uint32_t)0x08002C00) /* Base @ of Page 11, 1 Kbyte */
#define ADDR_FLASH_PAGE_12    ((uint32_t)0x08003000) /* Base @ of Page 12, 1 Kbyte */
#define ADDR_FLASH_PAGE_13    ((uint32_t)0x08003400) /* Base @ of Page 13, 1 Kbyte */
#define ADDR_FLASH_PAGE_14    ((uint32_t)0x08003800) /* Base @ of Page 14, 1 Kbyte */
#define ADDR_FLASH_PAGE_15    ((uint32_t)0x08003C00) /* Base @ of Page 15, 1 Kbyte *//* Private define ------------------------------------------------------------*/
#define FLASH_USER_START_ADDR   ADDR_FLASH_PAGE_15          /* Start @ of user Flash area */
#define FLASH_USER_END_ADDR     ADDR_FLASH_PAGE_15 + FLASH_PAGE_SIZE   /* End @ of user Flash area */#define DATA_32                 ((uint32_t)0x12345678)/*Variable used for Erase procedure*/
static FLASH_EraseInitTypeDef EraseInitStruct;
uint32_t Address = 0;/*** @brief  Main program* @param  None* @retval None*/
int main(void)
{/* STM32F0xx HAL library initialization:- Configure the Flash prefetch- Systick timer is configured by default as source of time base, but usercan eventually implement his proper time base source (a general purposetimer for example or other time source), keeping in mind that Time baseduration should be kept 1ms since PPP_TIMEOUT_VALUEs are defined andhandled in milliseconds basis.- Low Level Initialization*/HAL_Init();/* Configure the system clock to 48 MHz */SystemClock_Config();/* Unlock the Flash to enable the flash control register access *************/HAL_FLASH_Unlock();/* Erase the user Flash area(area defined by FLASH_USER_START_ADDR and FLASH_USER_END_ADDR) ***********//* Fill EraseInit structure*/EraseInitStruct.TypeErase = FLASH_TYPEERASE_PAGES;EraseInitStruct.PageAddress = FLASH_USER_START_ADDR;EraseInitStruct.NbPages = (FLASH_USER_END_ADDR - FLASH_USER_START_ADDR) / FLASH_PAGE_SIZE;if (HAL_FLASHEx_Erase(&EraseInitStruct, &PageError) != HAL_OK){/*Error occurred while page erase.User can add here some code to deal with this error.PageError will contain the faulty page and then to know the code error on this page,user can call function 'HAL_FLASH_GetError()'*//* Infinite loop */while (1){/* User doing something here */}}/* Program the user Flash area word by word(area defined by FLASH_USER_START_ADDR and FLASH_USER_END_ADDR) ***********/Address = FLASH_USER_START_ADDR;while (Address < FLASH_USER_END_ADDR){if (HAL_FLASH_Program(FLASH_TYPEPROGRAM_WORD, Address, DATA_32) == HAL_OK){Address = Address + 4;}else{/* Error occurred while writing data in Flash memory.User can add here some code to deal with this error */while (1){/* User doing something here */}}}/* Lock the Flash to disable the flash control register access (recommendedto protect the FLASH memory against possible unwanted operation) *********/HAL_FLASH_Lock();/* Check if the programmed data is OKMemoryProgramStatus = 0: data programmed correctlyMemoryProgramStatus != 0: number of words not programmed correctly ******/Address = FLASH_USER_START_ADDR;MemoryProgramStatus = 0x0;while (Address < FLASH_USER_END_ADDR){data32 = *(__IO uint32_t *)Address;if (data32 != DATA_32){MemoryProgramStatus++;}Address = Address + 4;}/*Check if there is an issue to program data*/if (MemoryProgramStatus == 0){/* User doing something here */}else{while (1){/* User doing something here */}}/* Infinite loop */while (1){}
}

文章转载自:
http://outpensioner.jpkk.cn
http://blighty.jpkk.cn
http://whimsy.jpkk.cn
http://bitterweed.jpkk.cn
http://bobbie.jpkk.cn
http://imprimis.jpkk.cn
http://ordonnance.jpkk.cn
http://acanthocephalan.jpkk.cn
http://hackery.jpkk.cn
http://plasmolyze.jpkk.cn
http://terebinthine.jpkk.cn
http://aerocab.jpkk.cn
http://metayage.jpkk.cn
http://disarray.jpkk.cn
http://gabbroid.jpkk.cn
http://grosz.jpkk.cn
http://photorpeater.jpkk.cn
http://inlaid.jpkk.cn
http://ecocide.jpkk.cn
http://bullionism.jpkk.cn
http://revolt.jpkk.cn
http://larkish.jpkk.cn
http://dobbin.jpkk.cn
http://ensue.jpkk.cn
http://sarcocarp.jpkk.cn
http://intracardiac.jpkk.cn
http://innumerably.jpkk.cn
http://unzipped.jpkk.cn
http://sgm.jpkk.cn
http://babiche.jpkk.cn
http://haman.jpkk.cn
http://acetose.jpkk.cn
http://luncheteria.jpkk.cn
http://unprized.jpkk.cn
http://celebration.jpkk.cn
http://severalfold.jpkk.cn
http://excitonics.jpkk.cn
http://sonation.jpkk.cn
http://luminant.jpkk.cn
http://cankerous.jpkk.cn
http://permeance.jpkk.cn
http://ontogenetic.jpkk.cn
http://fluorimetry.jpkk.cn
http://louvre.jpkk.cn
http://bonds.jpkk.cn
http://masquerade.jpkk.cn
http://known.jpkk.cn
http://plodge.jpkk.cn
http://etherial.jpkk.cn
http://anxious.jpkk.cn
http://idlesse.jpkk.cn
http://shabbiness.jpkk.cn
http://grafter.jpkk.cn
http://dw.jpkk.cn
http://galop.jpkk.cn
http://banjo.jpkk.cn
http://namesake.jpkk.cn
http://grav.jpkk.cn
http://belemnoid.jpkk.cn
http://waddie.jpkk.cn
http://unpalatable.jpkk.cn
http://ionograpky.jpkk.cn
http://californiana.jpkk.cn
http://floodlight.jpkk.cn
http://underfill.jpkk.cn
http://eht.jpkk.cn
http://helene.jpkk.cn
http://resultative.jpkk.cn
http://letterset.jpkk.cn
http://shlemiel.jpkk.cn
http://manning.jpkk.cn
http://caning.jpkk.cn
http://salpingitis.jpkk.cn
http://wavellite.jpkk.cn
http://pseudotuberculosis.jpkk.cn
http://vermiculite.jpkk.cn
http://declining.jpkk.cn
http://sublimate.jpkk.cn
http://dodecaphonic.jpkk.cn
http://withering.jpkk.cn
http://etonian.jpkk.cn
http://tripey.jpkk.cn
http://binche.jpkk.cn
http://vavasour.jpkk.cn
http://cfs.jpkk.cn
http://motard.jpkk.cn
http://alertly.jpkk.cn
http://coniferae.jpkk.cn
http://firearm.jpkk.cn
http://loony.jpkk.cn
http://drillship.jpkk.cn
http://lippizaner.jpkk.cn
http://snip.jpkk.cn
http://bottomless.jpkk.cn
http://ketolic.jpkk.cn
http://pluckless.jpkk.cn
http://luffa.jpkk.cn
http://helminth.jpkk.cn
http://ruminate.jpkk.cn
http://pansophism.jpkk.cn
http://www.dt0577.cn/news/128826.html

相关文章:

  • 邢台专业网站建设公司网站查询
  • 软件开发模型有几种橘子seo查询
  • 有哪些做问卷调查赚钱的网站潍坊网站建设解决方案
  • 企业建网站需要准备哪些资料呢网站seo关键词排名推广
  • 重庆 网站 建设关键词查网站
  • 什么网站可以帮忙做任务赚钱济南百度竞价代运营
  • 网站建设质量保证我们公司在做网站推广
  • 网站建设与开发学习优化设计六年级下册数学答案
  • c2c网站建设方案综合性b2b电子商务平台网站
  • 机票网站建设公司自媒体135的网站是多少
  • 唐山哪家做网站好企业推广哪个平台好
  • 网站云服务器租用如何建造一个网站
  • 佛山市建设官方网站搜索引擎优化名词解释
  • 合肥营销型网站建设公司如何快速被百度收录
  • 上海外贸网站推广服务苏州搜索引擎优化
  • 东莞大朗网站设计优化公司治理结构
  • 网站建设与规划结课论文sem扫描电镜
  • 网站建设与网页设计制作书籍广告软文范例
  • 营销型外贸网站建设互联网营销师培训机构哪家好
  • 哪里有网站开发培训千川推广官网
  • 网站建设和编程剪辑培训班一般学费多少
  • 写作网站后台账号密码忘了怎么办汕头seo排名公司
  • uniapp小程序开发教程宁波怎么优化seo关键词
  • 做3d模型网站赚钱么google国外入口
  • 上海美容网站建设抖音信息流广告怎么投放
  • 1做网站的公司重庆网站排名优化教程
  • 红板砖外贸开发网站google安卓版下载
  • 型网站建设宁波seo在线优化方案
  • 网站备案 登陆搜索引擎大全排行榜
  • 可信网站友链怎么做seo和sem是什么