不知道有多少人在用凌阳的MINIOS做程序,
无可否认MINIOS在关系复杂的程序方面确实十分占有优势,
但不知这种优势有谁体会到过?
前些天,我将贪吃蛇的程序嵌入MINIOS中,结果刚开始部分功能无法实现
经过调试之后,新问题不断出现
后来将程序分解成很多单个的任务分别进行调试
结果出现的问题更是莫名其妙,我百思不得其解,
有时相同的程序两次下载运行的结果竟然不同
经过这些天的郁闷之后,我以下面这个程序为例恳请大家赐教
#include "sposvar.h"
#include "spos.h"
#include "lab_parameter.h"
#include "spce061v004.h"
int taskerr;
int t1stack[20];
main()
{ void Welcome();
SpSInit();
taskerr=SpSTaskCreate(Welcome,0,t1stack+19,1);
SpSStart();
}
void Welcome()
{ int i,j;
Init_sys();
FG_InitGraphic();
while(1){
FG_PutStr("SUNPLUS",3,95,60);
SpSTimeDly(64);
*P_Watchdog_Clear=0;
}
}
这是及其简单的一个程序,但为什么液晶显示屏上什么东西都没有,经分析是系统不停重启的原因。
1、如何才能使显示一直保持,使系统不自动重启呢?
2、液晶显示的驱动程序库在MINIOS中的使用有没有特殊要求?
3、如何解决发送邮件时,邮件箱已满的情况?即如何清空邮箱?
4、消息队列如果已满,再向它发送信息会溢出吗?还是返回错误?
5、在当前任务中使用SpSTimeDly()时,当前任务暂时挂起,其它优先级高的任务是不是会执行?还是执行空闲任务?
6、头文件SposCE061A.h中#define IRQ2_TMB_EN 0x0400l
#define FIQ_TMB_EN 0x0800l
写成 #define IRQ2_TB_EN 0x0400l
#define FIQ_TB_EN 0x0800l
将本应该写成TMB的写成TB是你们的笔误,还是故意对MINIOS的有所保留?
请大家多多指教,谢谢!!!