|
最近看了網(wǎng)上有對AT24C32 來進(jìn)行測試的
也找了塊片子測試了一下
測試成功發(fā)上來給用到的小伙伴
有錯(cuò)誤一定吐草一個(gè)
好改正錯(cuò)誤
共同學(xué)習(xí)
單片機(jī)源程序如下:
- #include "delay.h"
- #include "sys.h"
- #include "usart.h"
- #include "includes.h"
- #include "ds1307.h"
- #include "at24c32.h"
- char WIFI_DATE[20] = {0}; //WIFI 接收的數(shù)據(jù)
- //START 任務(wù)
- //設(shè)置任務(wù)優(yōu)先級
- #define START_TASK_PRIO 10 ///開始任務(wù)的優(yōu)先級為最低
- #define START_STK_SIZE 512 //設(shè)置任務(wù)堆棧大小
- OS_STK START_TASK_STK[START_STK_SIZE]; //任務(wù)任務(wù)堆棧
- void start_task(void *pdata); //任務(wù)函數(shù)
- //LED0任務(wù)
- #define LED0_TASK_PRIO 4 //設(shè)置任務(wù)優(yōu)先級
- #define LED0_STK_SIZE 516 //設(shè)置任務(wù)堆棧大小
- OS_STK LED0_TASK_STK[LED0_STK_SIZE]; //任務(wù)堆棧
- void led0_task(void *pdata); //任務(wù)函數(shù)
- //LED1任務(wù)
- #define LED1_TASK_PRIO 5 //設(shè)置任務(wù)優(yōu)先級
- #define LED1_STK_SIZE 256 //設(shè)置任務(wù)堆棧大小
- OS_STK LED1_TASK_STK[LED1_STK_SIZE]; //任務(wù)堆棧
- void led1_task(void *pdata); //任務(wù)函數(shù)
- int main(void)
- {
- delay_init(); //延時(shí)初始化
- //NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //中斷分組配置
- uart_init(115200); //串口波特率設(shè)置
-
- OSInit(); //UCOS初始化
-
- OSTaskCreate( start_task,
- (void*)0,
- (OS_STK*)&START_TASK_STK[START_STK_SIZE-1],
- START_TASK_PRIO
- ); //創(chuàng)建開始任務(wù)
- OSStart(); //開始任務(wù)
- }
- //開始任務(wù)
- void start_task(void *pdata)
- {
- OS_CPU_SR cpu_sr=0;
- pdata=pdata;
- OSStatInit(); //開啟統(tǒng)計(jì)任務(wù)
-
- OS_ENTER_CRITICAL(); //進(jìn)入臨界區(qū)(關(guān)閉中斷)
-
- OSTaskCreate(led0_task,(void*)0,(OS_STK*)&LED0_TASK_STK[LED0_STK_SIZE-1],LED0_TASK_PRIO);//創(chuàng)建LED0任務(wù)
- OSTaskCreate(led1_task,(void*)0,(OS_STK*)&LED1_TASK_STK[LED1_STK_SIZE-1],LED1_TASK_PRIO);//創(chuàng)建LED1任務(wù)
- OSTaskSuspend(START_TASK_PRIO);//掛起開始任務(wù)
- OS_EXIT_CRITICAL(); //退出臨界區(qū)(開中斷)
- }
-
- //LED0任務(wù)
- void led0_task(void *pdata)
- {
-
- OS_CPU_SR cpu_sr=0;
- OS_ENTER_CRITICAL(); //進(jìn)入臨界區(qū)(關(guān)閉中斷)
- DS1307_GPIO_Init();
- OS_EXIT_CRITICAL(); //退出臨界區(qū)(開中斷)
- while(1)
- {
-
-
- DS1307_Read();
-
-
- OSTimeDlyHMSM(0,0,10,0); //時(shí) 分 秒 毫秒
- }
- }
- //LED1任務(wù)
- void led1_task(void *pdata)
- {
- OS_CPU_SR cpu_sr=0;
- unsigned char dat;
- OS_ENTER_CRITICAL(); //進(jìn)入臨界區(qū)(關(guān)閉中斷)
- //AT24C32_Init();
- OS_EXIT_CRITICAL(); //退出臨界區(qū)(開中斷)
- while(1)
- {
-
-
-
- dat = at24cxx_Read_Data(0x0001);
-
- printf("%d\r\n",dat);
- printf("LED1 \r\n");
-
- OSTimeDlyHMSM(0,0,10,0); //時(shí) 分 秒 毫秒
- }
- }
復(fù)制代碼
所有資料51hei附件下載:
AT24C32代碼.7z
(289.8 KB, 下載次數(shù): 29)
2023-4-5 05:30 上傳
點(diǎn)擊文件名下載附件
at24c32 下載積分: 黑幣 -5
|
評分
-
查看全部評分
|