-
自己写的,要是你用的比较多的话,还是自己写吧。比较简洁点。
-
看贴回帖
-
帮顶,硬件驱动什么的能给点建议,软件就帮不上忙了
-
呵呵,版本不对呢
-
发给我一份吧,谢谢
-
引用 9 楼 jbb0523 的回复:
.bat文件不能硬性打开的,右击后别点打开,点击编辑就可以以记事本方式打开了,我开时时也是点击打开,没用,直接打开是不行的。。。
引用 7 楼 ayin668 的回复:
我在我得计算机上搜索,只能找到 SMDK2440 MS-DOS批处理文件,可也打不开啊。
经验真是重要啊,多谢
-
可以做成2个,
做成设备分2种模式,
一种是符合设备,2个设备用是1个pid,
一种是2个设备,独立的2个设备,
你做成后者就可以,
需要改改usb驱动代码,
看看资料吧,既然你都作出来键盘了,那么2个设备也好做,枚举改改就ok,多申请一个端点
-
引用 1 楼 peasant_lee 的回复:
你这个应该是MDK的吧?没有进入串口中断,确定两个问题,一是软件:开中断了没有?中断向量设置对了没?是否有更高优先级的中断,经常性中断。二是硬件,232工作正常不?串口连接正常不?
其实没进入中断函数,那么你的中断函数里面实现什么,就都不用看了,进入了中断再说,呵呵
串口连接是正常的,因为我可以通过串口发送数据的嘛
就是在startup.s中怎么来开中断啊?这个不太明白,在初始化uart0的时候
/* 初始化UART0 */
void init(void)
{
UARTMODE uart0_set;
PINSEL0 = 0x00000005; // 设置I/O连接到UART0
uart0_set.datab = 8; // 8位数据位
uart0_set.stopb = 1; // 1位停止位
uart0_set.parity = 0; // 无奇偶校验
UART0_Ini(9600, uart0_set); // 初始化串口模式
U0FCR = 0x81; // 使能FIFO,并设置触发点为8字节
U0IER = 0x01; // 允许RBR中断,即接收中断
/* 设置中断允许 */
VICIntSelect = 0x00000000; // 设置所有通道为IRQ中断
VICVectCntl0 = 0x26; // UART0中断通道分配到IRQ slot 0,即优先级最高
VICVectAddr0 = (int)IRQ_UART0; // 设置UART0向量地址
VICIntEnable = 0x00000040; // 使能UART0中断
}
复制代码
-
是不是时间间隔太短,要延时
-
两个板子的时序为什么会有差别呢
-
这种怪事没有遇到。是否是触摸屏质量问题?
-
WINCE有没有类似的像sd卡读写操作的驱动?
-
建议 楼主买本protel99 se的书籍;或者在网上下载一些电子教程,当遇到问题就翻翻书,对照看下电子教程,这样效率会更高些,进步快些!
CSND上也有protel99的教程:
http://search.download.eeworld.net/search/protel99%20%E6%95%99%E7%A8%8B
-
up
-
lz这种情况是可以找个培训机构学学,不过不能依靠培训机构,关键还是自己多动手去做,华清远见感觉还可以,前期学习的时候网上下了不少他们的视频看,不过没去培训过,呵呵。
-
顶一下。
-
很好很没用!
-
今天用 uCOS v2.84在Win32的port版本测试了如下:
#include "includes.h"
#define TASK_STK_SIZE 1024
OS_STK _Stk0[TASK_STK_SIZE];
OS_STK _Stk1[TASK_STK_SIZE];
OS_STK _Stk2[TASK_STK_SIZE];
void Initialzer(void *pdata);
void Task_prio_1(void *pdata);
void Task_prio_2(void *pdata);
int main(void)
{
printf(" - uCOS-II V%4.2f Port Win,test suite\n", ((FP32)OSVersion())/100);
OSInit();
OSTaskCreate(Initialzer,(void *)0,&_Stk0[TASK_STK_SIZE],3);
OSStart();
printf(" -- never reach here --\n");
return 0;
}
void Initialzer(void *pdata)
{
printf("Initialzer: ***** Now Begin Initialze *****\n");
printf("Initialzer: ***** Now is before the Creation of Task1 *****\n");
OSTaskCreate(Task_prio_1, (void *)0, &_Stk1[TASK_STK_SIZE], 1);
printf("Initialzer: ***** Now is before the Creation of Task1 *****\n");
OSTaskCreate(Task_prio_2, (void *)0, &_Stk2[TASK_STK_SIZE], 2);
printf("Initialzer: ***** Now Initialze Finished *****\n");
OSTaskSuspend(OS_PRIO_SELF);
printf("Initialzer: -- this mesage never occur ! -- \n");
}
void DetectAndQuit(INT8U prio)
{
if (_kbhit())
{
if(prio!=1)OSTaskDel(1);
if(prio!=2)OSTaskDel(2);
if(prio!=3)OSTaskDel(3);
exit(0);
}
}
void myDelay()
{
INT32U i=0;
while(i
-
达不到吧,因为出现了奇数,而结果要求是偶数,也就是除非在计数过程中,人为的加入几个计数
-
学习一下