最近看了网上有对AT24C32 来进行测试的
也找了块片子测试了一下
测试成功发上来给用到的小伙伴
有错误一定吐草一个
好改正错误
共同学习
单片机源程序如下:
- #include "delay.h"
- #include "sys.h"
- #include "usart.h"
- #include "includes.h"
- #include "ds1307.h"
- #include "at24c32.h"
- char WIFI_DATE[20] = {0}; //WIFI 接收的数据
- //START 任务
- //设置任务优先级
- #define START_TASK_PRIO 10 ///开始任务的优先级为最低
- #define START_STK_SIZE 512 //设置任务堆栈大小
- OS_STK START_TASK_STK[START_STK_SIZE]; //任务任务堆栈
- void start_task(void *pdata); //任务函数
- //LED0任务
- #define LED0_TASK_PRIO 4 //设置任务优先级
- #define LED0_STK_SIZE 516 //设置任务堆栈大小
- OS_STK LED0_TASK_STK[LED0_STK_SIZE]; //任务堆栈
- void led0_task(void *pdata); //任务函数
- //LED1任务
- #define LED1_TASK_PRIO 5 //设置任务优先级
- #define LED1_STK_SIZE 256 //设置任务堆栈大小
- OS_STK LED1_TASK_STK[LED1_STK_SIZE]; //任务堆栈
- void led1_task(void *pdata); //任务函数
- int main(void)
- {
- delay_init(); //延时初始化
- //NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //中断分组配置
- uart_init(115200); //串口波特率设置
-
- OSInit(); //UCOS初始化
-
- OSTaskCreate( start_task,
- (void*)0,
- (OS_STK*)&START_TASK_STK[START_STK_SIZE-1],
- START_TASK_PRIO
- ); //创建开始任务
- OSStart(); //开始任务
- }
- //开始任务
- void start_task(void *pdata)
- {
- OS_CPU_SR cpu_sr=0;
- pdata=pdata;
- OSStatInit(); //开启统计任务
-
- OS_ENTER_CRITICAL(); //进入临界区(关闭中断)
-
- OSTaskCreate(led0_task,(void*)0,(OS_STK*)&LED0_TASK_STK[LED0_STK_SIZE-1],LED0_TASK_PRIO);//创建LED0任务
- OSTaskCreate(led1_task,(void*)0,(OS_STK*)&LED1_TASK_STK[LED1_STK_SIZE-1],LED1_TASK_PRIO);//创建LED1任务
- OSTaskSuspend(START_TASK_PRIO);//挂起开始任务
- OS_EXIT_CRITICAL(); //退出临界区(开中断)
- }
-
- //LED0任务
- void led0_task(void *pdata)
- {
-
- OS_CPU_SR cpu_sr=0;
- OS_ENTER_CRITICAL(); //进入临界区(关闭中断)
- DS1307_GPIO_Init();
- OS_EXIT_CRITICAL(); //退出临界区(开中断)
- while(1)
- {
-
-
- DS1307_Read();
-
-
- OSTimeDlyHMSM(0,0,10,0); //时 分 秒 毫秒
- }
- }
- //LED1任务
- void led1_task(void *pdata)
- {
- OS_CPU_SR cpu_sr=0;
- unsigned char dat;
- OS_ENTER_CRITICAL(); //进入临界区(关闭中断)
- //AT24C32_Init();
- OS_EXIT_CRITICAL(); //退出临界区(开中断)
- while(1)
- {
-
-
-
- dat = at24cxx_Read_Data(0x0001);
-
- printf("%d\r\n",dat);
- printf("LED1 \r\n");
-
- OSTimeDlyHMSM(0,0,10,0); //时 分 秒 毫秒
- }
- }
复制代码
所有资料51hei附件下载:
AT24C32代码.7z
(289.8 KB, 下载次数: 29)
|