收到小开发板之后,对照论坛里的各位高手的指导,新建了一个项目,运行通过了一个点亮LED的程序。所以真的非常感谢论坛的各位前辈、兄弟们,没有你们我都不知道我自己要搞多长时间才能运行第一个哪怕是最简单的点亮LED的程序。感觉网上的资料挺少的,特别是中文的资料,比如编译环境的设置使用的详细说明,FFMC-8FX内核的讲解等。 前面的关于项目的建立,编译调试等已经有好几位高手已经做了详细的介绍,我就不再说这些了,我就说说我调试时碰到的一些问题。 小目标板上有一个三色灯(分别由P06\P63\P62控制,低电平点亮),我调的这个程序是用这三个灯按照不同的组合依次显示红、绿、蓝、黄、紫、青、白(三基色配色原理)。每种颜色显示停留的时间大概是1~2秒左右,代码在后面。 模式开关处于“D”(DUBEG)时能够正常的看到程序的运行,但模式开关处于“N”(自由运行)时却每次都只能看到红点亮,且隔了1秒钟左右会闪动一下。当时很郁闷,心想为什么不能正常运行呢,而且根据观察的现象可推测目标板的MCU在周期性的复位。仔细一想,感觉很有可能是看门狗复位。这时赶快登陆论坛,可没找到反映这个问题的……。 后面就查看《MB95F264K硬件手册》,刚开始还没找到看门狗的相关操作,仔细看了几遍才找到原来文档里称呼其为“硬件/软件监视定时器”(呵呵……,希望各位不要笑话,小弟学识太浅,感觉这款单片机确实有很多跟其他单片机不同的地方)。 文档里提到了这样一句话(文档的第168页):“硬件启动(硬件监视)时,监视定时器功能在复位后自动启动”。意思是不是看门狗定时器在硬件上电复位后就自动启动了呢?暂且认为它是,于是我又继续查看文档,里面讲到向WDTC的WTE3\WTE2\WTE1\WTE0位写入0101时可以清零监视定时器(文档的第173页),暂且理解为“喂狗”。 看到这时我赶快迫不及待的修改了我刚刚的程序,在里面加了上面提到的喂狗的操作,下载完程序后,使目标板的MCU运行在“N”(自由运行)模式,问题真的解决了!
共6条
1/1 1 跳转至页

下面是我的一段代码:
#include"mb95200.h"
void Init (void)
{
DDR0_P06 = 1; //设置端口输出
DDR6_P62 = 1; //设置端口输出
DDR6_P63 = 1; //设置端口输出
}
void delay(unsigned char tim)
{unsigned char i,j;
for(i=0;i<tim;i++)
{
for(j=0;j<250;j++);
WDTC=0x05; //喂狗
}
}
void main (void)
{
Init ();
while(1)
{
PDR0_P06 = 0;
PDR6_P62 = 1;
PDR6_P63 = 1;
delay(200); //红色
PDR0_P06 = 1;
PDR6_P62 = 0;
PDR6_P63 = 1;
delay(200); //绿色
PDR0_P06 = 1;
PDR6_P62 = 1;
PDR6_P63 = 0;
delay(200); //蓝色
PDR0_P06 = 0;
PDR6_P62 = 0;
PDR6_P63 = 1;
delay(200); //黄色
PDR0_P06 = 0;
PDR6_P62 = 1;
PDR6_P63 = 0;
delay(200); //紫色
PDR0_P06 = 1;
PDR6_P62 = 0;
PDR6_P63 = 0;
delay(200); //青色
PDR0_P06 = 0;
PDR6_P62 = 0;
PDR6_P63 = 0;
delay(200); //白色
}
}



共6条
1/1 1 跳转至页
回复
打赏帖 | |
---|---|
【Zephyr】使用Zephyr外设初始化过程解析被打赏30分 | |
【S32K146】S32DS watchdog 配置使用被打赏20分 | |
【Zephyr】使用 IAR 调试 Zephyr 镜像被打赏20分 | |
赚取电动螺丝刀+电源电路理论知识分享1被打赏5分 | |
我想要一部加热台+分享常见运算放大器电路的应用被打赏5分 | |
【Zephyr】MCXN947 Zephyr 开发入门适配shell被打赏20分 | |
我想要一部加热台+常见的MOS管驱动电路被打赏5分 | |
【我要开发板】6.联合MATLAB记录数据被打赏50分 | |
【换取手持数字示波器】MicrochipMPLABHarmony框架下串口调试printf输出记录被打赏29分 | |
【瑞萨RA2E1开发板】:使用ADC功能实现位移传感器采集方案被打赏20分 |