二、硬件原理图 硬件原理图很简单,在本序列的跑马灯里面就有。这里就不作过多的介绍。 下面主要看的是STM32F4探索套件的LED灯部分的原理图。 从上面的原理可以看见,很简单,只要给一个高电平LED就会亮,这就不多讲了。STM32F4探索套件就是两个用 户LED灯,LED3和LED4一个位绿色,一个为红色。 三、软件编写 在写程序的时候,首先按一下步骤检查是否已经完备。 1.确保JP3和CN4跳线是连接的【Discovery模式】。 2.通过Min USB把开发板和电脑连接,USB供电。 3.通过ST-Link/V2来下载程序。 4.检查USB通讯的LED1灯是否亮,电源灯LED2是否亮(3.3v) 以上正常就可以进行下面的工作了。 /*************************************** * 函数描述:主函数 * 输入参数:No * 返 回 值:No * 说 明: * 修改记录: ****************************************/ int main(void) { OS_CPU_SysTickInit(); //设置SysTick,并允许中断。 bsp_init(); OSInit(); OSTaskCreate(start_task,(void *)0,(OS_STK *)&START_TASK_STK[START_STK_SIZE-1],START_TASK_PRIO );//创建起始任务 OSStart(); //开始任务调度 return(0); } /*************************************** * 函数描述:开始任务 * 输入参数:*pdata * 返 回 值:No * 说 明: * 修改记录: ****************************************/ void start_task(void *pdata) { OS_CPU_SR cpu_sr=0; pdata = pdata; OSStatInit(); //初始化统计任务.这里会延时1秒钟左右 OS_ENTER_CRITICAL(); //进入临界区(无法被中断打断) OSTaskCreate(led1_task,(void *)0,(OS_STK*)&LED1_TASK_STK[LED1_STK_SIZE-1],LED1_TASK_PRIO); OSTaskCreate(led2_task,(void *)0,(OS_STK*)&LED2_TASK_STK[LED2_STK_SIZE-1],LED2_TASK_PRIO); OSTaskSuspend(START_TASK_PRIO); //挂起起始任务. OS_EXIT_CRITICAL(); //退出临界区(可以被中断打断) } 四、下载验证 可以看到红绿LED灯交替闪烁。
|
太快了,看不清楚matlab!