縱觀全論壇沒有此例程,特此奉上,僅供參考,第一次發帖,就不上傳圖了,
單片機源程序如下:
- /************************************************************************************
- #include "stm32f10x.h"
- #include "delay.h"
- #include "HX711.h"
- #include "usart.h"
- #include "key.h"
- #include "flash_S.h"
- int main(void)
- {
- u8 i,t;
- u8 len;
- u16 times=0;
- delay_init();
-
- NVIC_Configuration(); //設置NVIC中斷分組2:2位搶占優先級,2位響應優先級
- uart_init(9600); //串口初始化為9600
- KEY_Init();
-
- FLASH_Configuration(1);
- printf("\r\n****V0.3****\r\n");//插入換行
- while(1)
- {
-
- t=KEY_Scan(0); //得到鍵值
- if(t)
- {
- switch(t)
- {
- case 1: //控制蜂鳴器4
- printf("1\r\n");
- break;
- case 2: //控制LED0翻轉3
- printf("讀取中。。。。。");
- FLASH_ReadMoreCHAR(0x0100, FLASH_RDBUFF, 6); //讀取指定頁面0x0800F800的數據//這里的數據長度是指的int的長度
- printf("%s\r\n",FLASH_RDBUFF);
- printf("讀取成功。。。。。");
-
- break;
- case 3: //控制LED1翻轉 2
- printf("寫入中。。。。。");
- FLASH_WriteMoreCHAR(0x0100, "xiaohe", 6);
- printf("寫入成功。。。。。");
-
- break;
-
- }
- }
-
- if(USART_RX_STA&0x8000)
- {
- len=USART_RX_STA&0x3fff;//得到此次接收到的數據長度
- printf("\r\n您發送的消息為:\r\n\r\n");
- for(i=0;i<len;i++)
- {
- USART_SendData(USART1, USART_RX_BUF[i]);//向串口1發送數據
- while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);//等待發送結束
- }
- printf("\r\n\r\n");//插入換行
- USART_RX_STA=0;
- }
- else
- {
- times++;
- if(times%5000==0)
- {
- printf("\r\n我測還活著\r\n");
-
- }
- // if(times%200==0)printf("請輸入數據,以回車鍵結束\n");
- delay_ms(10);
- }
- }
- }
復制代碼
所有資料51hei提供下載:
2.串口內部flash.7z
(189 KB, 下載次數: 341)
2019-5-5 04:25 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|