发布时间:2014-10-15 10:44:29
一个小的项目,在测试时间和产品量稍微大一些之后,出现了一些莫名其妙的非逻辑错误的Bug(最头疼的是不能每次都能复制出来)。经过修改后,最近一个月的测试都没有出现。本人在这里得到了原子哥和其他朋友的很多帮助,也把自己的一些经验分享给各位,也欢迎大家指正。1. 程序偶尔会出现一些Bug,经过output串口信息发现.........【阅读全文】
发布时间:2014-10-13 16:11:14
STM32有43个channel的settable的中断源;AIRC(Application Interrupt and Reset Register)寄存器中有用于指定优先级的4 bits。这4个bits用于分配preemption优先级和sub优先级,在STM32的固件库中定义如下/* Preemption Priority Group -------------------------------------------------*/#define NVIC_PriorityGroup_0  ......【阅读全文】
发布时间:2014-09-18 13:39:35
首先从main函数开始,下面是uC/OS-II main函数的大致流程:main(){ OSInit(); TaskCreate(...); OSStart();}首先是调用OSInit进行初始化,然后使用TaskCreate创建几个进程/Task,最后调用OSStart,操作系统就开始运行了。 OSInit 最先看看OSInit完成哪些.........【阅读全文】
发布时间:2013-09-14 13:25:19
CPU内状态寄存器SR中的SCG1、SCG2、OscOff和CPUOff位是重要的低功耗控制位。只要任意中断被响应,上述控制位就被压入堆栈保存,中断处理之后,又可以恢复先前的工作方式。在中断处理子程序执行期间,通过间接访问堆栈数据,可以操作这些位;这样允许程序在中断返回(RETI)后,以另一种功耗方式继续运行。各控制位作用如.........【阅读全文】
发布时间:2013-09-14 13:24:21
//*******************************************************************************// D13x Demo - 在上一节基础上改变系统时钟,观察LED灯的闪烁频率//// 描述:通过改变系统时钟,来改变闪烁频率;通过 P1 异或 来取反 P1.5;软件循环延时// ACLK= n/a, MCLK= SMCLK= default DCO ~ 800k//// MSP430F13x//.........【阅读全文】