国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

STM32F103C8T6(HAL庫函數(shù) - 內(nèi)部Flash操作)

這篇具有很好參考價值的文章主要介紹了STM32F103C8T6(HAL庫函數(shù) - 內(nèi)部Flash操作)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

簡介

STM32F103C8T6 內(nèi)部Flash 為 64KB,本次將對他多余空間進行讀寫。

介紹

數(shù)據(jù)手冊下載

STM32F103x8/STM32F103xB 數(shù)據(jù)手冊

包含F(xiàn)lash Memory Page分布

STM32F設(shè)備命名

STM32F103C8T6(HAL庫函數(shù) - 內(nèi)部Flash操作),STM32F103C8T6,stm32,嵌入式硬件,單片機

設(shè)備容量類型

中容量類型
STM32F103C8T6(HAL庫函數(shù) - 內(nèi)部Flash操作),STM32F103C8T6,stm32,嵌入式硬件,單片機

內(nèi)部空間介紹

64 KBytes大小

STM32F103C8T6(HAL庫函數(shù) - 內(nèi)部Flash操作),STM32F103C8T6,stm32,嵌入式硬件,單片機
Flash Memory 從 0x0800 0000 ~ 0x0801 FFFF
STM32F103C8T6(HAL庫函數(shù) - 內(nèi)部Flash操作),STM32F103C8T6,stm32,嵌入式硬件,單片機
頁分布1K每頁, STM32F103C8T6 只有64KByte, 那就是64頁
STM32F103C8T6(HAL庫函數(shù) - 內(nèi)部Flash操作),STM32F103C8T6,stm32,嵌入式硬件,單片機

代碼

使用
controllerstech Flash Program Code
復(fù)制 FLASH_PAGE_F1.h 和 FLASH_PAGE_F1.c到項目中

FLASH_PAGE_F1.h 加入宏定義

#define FLASH_START_ADDRESS (0x08000000 + FLASH_PAGE_SIZE * 20) //0~20頁這20K用于存儲你的程序
#define FLASH_MAX_PAGE_NUM (64-1-20) // 0 ~ (63-20) 是最大的頁碼

FLASH_PAGE_F1.c 修改

static uint32_t GetPage(uint32_t Address)
{
  for (int indx=0; indx<(FLASH_MAX_PAGE_NUM+1); indx++)
  {
	  if((Address < (FLASH_START_ADDRESS + (FLASH_PAGE_SIZE *(indx+1))) ) && (Address >= (FLASH_START_ADDRESS + FLASH_PAGE_SIZE*indx)))
	  {
		  return (FLASH_START_ADDRESS + FLASH_PAGE_SIZE*indx);
	  }
  }

  return 0;
}

測試代碼

main.c

char *data = "hello FLASH from ControllerTech\
			  This is a test to see how many words can we work with";

uint32_t data2[] = {0x1,0x2,0x3,0x4,0x5,0x6,0x7,0x8,0x9};

uint32_t Rx_Data[30];

char string[100];

int number = 123;

float val = 123.456;

float RxVal;


int main()
{
...
printf("Hello World!\r\n");
	Flash_Write_Data(GetPageFromPageNum(0) , (uint32_t *)data2, 9);
	Flash_Read_Data(GetPageFromPageNum(0) , Rx_Data, 10);
	printf ("RxData: { ");
	for ( int i = 0; i < 9; ++i )
	{
		printf ("0x%X ", Rx_Data[i]);
	}
	printf ("};\r\n");
	
	int numofwords = (strlen(data)/4)+((strlen(data)%4)!=0);
  Flash_Write_Data(GetPageFromPageNum(1) , (uint32_t *)data, numofwords);
  Flash_Read_Data(GetPageFromPageNum(1) , Rx_Data, numofwords);
  Convert_To_Str(Rx_Data, string);
	printf ("String: %s\r\n", string);
	
	Flash_Write_NUM(GetPageFromPageNum(2), number);
  RxVal = Flash_Read_NUM(GetPageFromPageNum(2));
	printf ("Read Num_1: %f\r\n", RxVal);

  Flash_Write_NUM(GetPageFromPageNum(3), val);
  RxVal = Flash_Read_NUM(GetPageFromPageNum(3));
	printf ("Read Num_2: %f\r\n", RxVal);
...
}

設(shè)置燒錄地址區(qū)域, 避免其他區(qū)域被覆蓋

20K = 0x5000 即0 ~ 20頁 這個區(qū)域用來存放程序
STM32F103C8T6(HAL庫函數(shù) - 內(nèi)部Flash操作),STM32F103C8T6,stm32,嵌入式硬件,單片機

共賞

STM32F103C8T6(HAL庫函數(shù) - 內(nèi)部Flash操作),STM32F103C8T6,stm32,嵌入式硬件,單片機

代碼

不需要下載, 上面都提供了

參考

普中STM32-PZ6806L開發(fā)板(HAL庫函數(shù)實現(xiàn)-USART1 printf+scanf/gets)文章來源地址http://www.zghlxwxcb.cn/news/detail-811842.html

Note

  1. FLASH_BASE 就是 0x08000000這個地址, 所以可以用 FLASH_BASE取代0x08000000

到了這里,關(guān)于STM32F103C8T6(HAL庫函數(shù) - 內(nèi)部Flash操作)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • WS2812B彩燈 STM32HAL庫開發(fā):PWM+DMA(stm32f103c8t6)

    WS2812B彩燈 STM32HAL庫開發(fā):PWM+DMA(stm32f103c8t6)

    目錄 一、摘要 二、WS2812B介紹 三、CUBEMX配置 四、程序介紹(KEIL編譯器) 五、數(shù)據(jù)手冊 ? ? ? ? 1、本文使用示例單片機型號為 stm32f103c8t6 ,RGB型號為 WS2812B ; ????? ???2、主要實現(xiàn)功能是實現(xiàn)用 PWM+DMA 使RGB_LED亮起不同顏色的燈光; ????????3、目的:簡單調(diào)通該型號

    2024年02月03日
    瀏覽(16)
  • STM32F103C8T6基礎(chǔ)開發(fā)教程(HAL庫)—點亮第一顆LED燈

    STM32F103C8T6基礎(chǔ)開發(fā)教程(HAL庫)—點亮第一顆LED燈

    STM32F103C8T6基礎(chǔ)開發(fā)教程(HAL庫)—開發(fā)環(huán)境配置 STM32F103C8T6基礎(chǔ)開發(fā)教程(HAL庫)—Keil添加注釋的快捷鍵 STM32F103C8T6基礎(chǔ)開發(fā)教程(HAL庫)—點亮第一顆LED燈 STM32F103C8T6基礎(chǔ)開發(fā)教程(HAL庫)—LED燈交替閃爍 STM32F103C8T6基礎(chǔ)開發(fā)教程(HAL庫)—LED燈呼吸閃爍 STM32F103C8T6基礎(chǔ)開發(fā)

    2024年01月18日
    瀏覽(24)
  • STM32CubeIDE + HAL + STM32f103C8T6 系列教程1 ---板載PC13LED閃爍

    STM32CubeIDE + HAL + STM32f103C8T6 系列教程1 ---板載PC13LED閃爍

    之前的系列教程都是基于Arduino的,但是公司招聘51和stm32的開發(fā)還是多些,所以特別開了一個stm32的系列。 這個系列特點是注重了 Arduino 編程思維和習(xí)慣下向STM32開發(fā)的過渡 。前期沒有涉及到太多寄存器相關(guān)的知識,利用HAL庫和STM32CubeIDE快速入手STM32的數(shù)字輸入/輸出、模擬輸

    2024年02月16日
    瀏覽(21)
  • 正點原子stmf103zet6代碼移植為stm32f103c8t6(庫函數(shù)版)

    目錄 1、打開正點原子的工程模板template, 點擊魔術(shù)棒 ?2、 修改芯片型號 為stm32f103c8

    2024年02月01日
    瀏覽(30)
  • ESP8266與手機相互通信 透傳模式(STM32F103C8T6 HAL庫)有APP和完整代碼

    ESP8266與手機相互通信 透傳模式(STM32F103C8T6 HAL庫)有APP和完整代碼

    一、目標(biāo) ? ? ? ? stm32f103c8t6用串口發(fā)送AT指令控制esp8266發(fā)送數(shù)據(jù)到手機APP上,同時手機也可以發(fā)送數(shù)據(jù)到stm32f103c8t6主控,控制LED的亮滅。 ? ? ? ? ?將esp8266模塊的GND、VCC、TXD、RXD、CH-PD與單片機對應(yīng)引腳連接,其中TXD與RXD要反接,模塊在工作時CH-PD要處于高電平狀態(tài)。 二、

    2024年02月16日
    瀏覽(19)
  • 舵機控制(STM32F103C8T6)

    舵機控制(STM32F103C8T6)

    ? ? ? ? 本文是以 STM32F103C8T6 作為主控芯片,通過PB6端口輸出PWM,實現(xiàn)控制180°舵機。 (一)概述 ? ? ? ? 舵機是一種位置伺服驅(qū)動器器,是一種帶有輸出軸的小裝置。當(dāng)我們向伺服器發(fā)送一個控制信號時,輸出軸就可以轉(zhuǎn)到特定的位置。只在控制信號持續(xù)不變,伺服機構(gòu)就

    2023年04月09日
    瀏覽(25)
  • 功耗測評 | STM32F103C8T6

    功耗測評 | STM32F103C8T6

    STM32F103C8T6 MCU越來越廣泛的應(yīng)用在生產(chǎn)生活的各個領(lǐng)域,外接豐富的傳感器、功能模塊、通信模塊、顯示存儲等可以形成各種可樣的產(chǎn)品項目應(yīng)用。對于功耗要求比較高的產(chǎn)品,一般會選擇STM32L系列的MCU,但是從功耗的評測角度,邏輯上是基本相似的。 在很多應(yīng)用場合中都對

    2024年02月07日
    瀏覽(31)
  • STM32F103C8T6板子介紹

    STM32F103C8T6板子介紹

    STM32簡介 STM32是ST公司基于ARM Cortex-M內(nèi)核開發(fā)的32位微控制器 STM32常應(yīng)用在嵌入式領(lǐng)域,如智能車、無人機、機器人、無線通信、物聯(lián)網(wǎng)、工業(yè)控制、娛樂電子產(chǎn)品等 STM32功能強大、性能優(yōu)異、片上資源豐富、功耗低,是一款經(jīng)典的嵌入式微控制器。 ?STM32F103C8T6 F1XX片上資源

    2024年02月11日
    瀏覽(22)
  • STM32F103C8T6系統(tǒng)板

    STM32F103C8T6系統(tǒng)板

    1.電源部分 2.復(fù)位 3.晶振 4. 電源電路——防反接 有關(guān)二極管 漫談二極管防電源反接電路 本次采用上圖右下角的NMOS防反接電路。 電源電路——電源芯片 AMS1117是AMS公司的 ,LM1117是NS(美國國家半導(dǎo)體)的,LM1117要貴很多,所以一般的用AMS1117就可以了。 (以下分析參考STM32F10

    2024年02月02日
    瀏覽(21)
  • STM32F103C8T6串口通信

    STM32F103C8T6串口通信

    ? 首先來看一下需要操作的函數(shù),以及配置的步驟: 圖1? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 圖2?? Code: usart.c #include \\\"usart.h\\\" void ustart_Init(void ) { GPIO_InitTypeDef GPIO_Init_Ustar ; // 定義輸出端口TX的結(jié)構(gòu)體對象 USART_InitTypeDef USTART_Init; // 定義串口初始化結(jié)構(gòu)體對象

    2024年02月16日
    瀏覽(28)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包