这个任务可用队列来写
1
2
队列操作函数,主要是前面两个函数。
3
3
下文主要内容为:我在完成任务:使用FReeeTOS控制陀螺仪时,遇到一些问题,以及解决方案。
NO.1 mpu6050的信号线和数据线在mpuiic.h文件中可以看到接哪个IO口。(mini板)。
NO.2 在仿写代码时,顺便学习了一下寄存器
RCC->APB1ENR |=1<<4; //先使能外设IO PORTOC时钟
GPIOC->CRH&=0XFFF00FFF; //PC11/12 推挽输出
GPIOC->CRH|=0X00033000;
GPIOC->ODR|=3<<11; //PC11,12 输出高
其中,PORTOC时钟解释:
AVR单片机的IO是3态门。DDRC是C口的方向寄存器,PORTC是C口的数据寄存器,
DDRC为0时,C口为输入,IO的高低从PORTC可以读出
DDRC为1时,c为输出,输出高低有PORTC控制。 (看看就可以了)
GPIOC->CRH&=0XFFF00FFF;//清掉这2个位原来的设置,同时也不影响其他位的设置
GPIOC->CRH|=0X00033000; //PC11输入,PC12输出
NO.3 任务断言(保护作用):当你程序卡死,你可以debug.看看从哪里跳转到这。
NO.4 在c文件中添加函数(Definitions )一定要在h文件中声明 declaration
就是因为在gpio.c文件中定义,但未声明。