新手上路
- 积分
- 34
- 金钱
- 34
- 注册时间
- 2015-5-21
- 在线时间
- 6 小时
|

楼主 |
发表于 2021-8-17 13:50:58
|
显示全部楼层
刚刚测试了下 正点原子的例程 在 例程实验56 UCOSII实验1-1-任务调度 中添加 存储flash的代码也存在这个问题,只有在创建任务之前写flash好使,一旦创建任务后 写flash就失效了。
- #include "sys.h"
- #include "delay.h"
- #include "usart.h"
- #include "led.h"
- #include "stmflash.h"
- #include "includes.h"
- //ALIENTEK ì½Ë÷ÕßSTM32F407¿a·¢°å êμÑé56
- //UCOSIIêμÑé1-èÎÎñμ÷¶è -¿aoˉêy°æ±¾
- //¼¼êõÖ§3Ö£owww.openedv.com
- //ìÔ±|μêÆì£ohttp://eboard.taobao.com
- //1ãÖYêDDÇòíμç×ó¿Æ¼¼óDÏT1«Ë¾
- //×÷ÕߣoÕyμãÔ-×ó @ALIENTEK
- /////////////////////////UCOSIIèÎÎñéèÖÃ///////////////////////////////////
- //START èÎÎñ
- //éèÖÃèÎÎñóÅÏè¼¶
- #define START_TASK_PRIO 10 //¿aê¼èÎÎñμÄóÅÏè¼¶éèÖÃÎa×îμí
- //éèÖÃèÎÎñ¶ÑÕ»′óD¡
- #define START_STK_SIZE 64
- //èÎÎñ¶ÑÕ»
- OS_STK START_TASK_STK[START_STK_SIZE];
- //èÎÎñoˉêy
- void start_task(void *pdata);
-
- //LED0èÎÎñ
- //éèÖÃèÎÎñóÅÏè¼¶
- #define LED0_TASK_PRIO 7
- //éèÖÃèÎÎñ¶ÑÕ»′óD¡
- #define LED0_STK_SIZE 64
- //èÎÎñ¶ÑÕ»
- OS_STK LED0_TASK_STK[LED0_STK_SIZE];
- //èÎÎñoˉêy
- void led0_task(void *pdata);
- //LED1èÎÎñ
- //éèÖÃèÎÎñóÅÏè¼¶
- #define LED1_TASK_PRIO 6
- //éèÖÃèÎÎñ¶ÑÕ»′óD¡
- #define LED1_STK_SIZE 64
- //èÎÎñ¶ÑÕ»
- OS_STK LED1_TASK_STK[LED1_STK_SIZE];
- //èÎÎñoˉêy
- void led1_task(void *pdata);
- u32 te = 87432;
- u8 id= 1;
- int main(void)
- {
-
- delay_init(168); //3õê¼»ˉÑóê±oˉêy
- LED_Init(); //3õê¼»ˉLED¶Ë¿ú
- STMFLASH_Write(Temp_adress,&te,1);//正常
- OSInit();
- OSTaskCreate(start_task,(void *)0,(OS_STK *)&START_TASK_STK[START_STK_SIZE-1],START_TASK_PRIO );//′′½¨Æeê¼èÎÎñ
- OSStart();
- }
- //¿aê¼èÎÎñ
- void start_task(void *pdata)
- {
- OS_CPU_SR cpu_sr=0;
- pdata = pdata;
- OS_ENTER_CRITICAL(); //½øèëáù½çÇø(ÎT·¨±»ÖD¶Ï′ò¶Ï)
- OSTaskCreate(led0_task,(void *)0,(OS_STK*)&LED0_TASK_STK[LED0_STK_SIZE-1],LED0_TASK_PRIO);
- OSTaskCreate(led1_task,(void *)0,(OS_STK*)&LED1_TASK_STK[LED1_STK_SIZE-1],LED1_TASK_PRIO);
- OSTaskSuspend(START_TASK_PRIO); //1òÆeÆeê¼èÎÎñ.
- OS_EXIT_CRITICAL(); //íË3öáù½çÇø(¿éòÔ±»ÖD¶Ï′ò¶Ï)
- }
- //LED0èÎÎñ
- void led0_task(void *pdata)
- {
- while(1)
- {
- LED0=0;
- delay_ms(80);
- if(id == 1)
- {
- STMFLASH_Write(Temp_adress,&te,1);//′写入失败
- id = 0;
- }
- LED0=1;
- delay_ms(920);
- };
- }
复制代码 |
|