-
可能是路径的问题,相同的目录下可以这样包含头文件,要么在包含文件时增加路径,要么在MDK中将该文件的路径定义为默认路径
-
应该没有区别
-
JTAG提供的电源功率很有限,目标板加电,连线没有错误时,不会找不到的
-
要弄低功耗要从设备下手而不是GPIO
-
路过!
-
真的成了事实,唉
-
照LZ的描述,应该是硬件的问题.
可以检查一下nandflash那部分电路跟开发板有什么不同.
-
out文件建立的时候CPU类型和编译器类型选择是否正确?
-
自己顶,,这问题难道没有人帮我解决。。。
-
多象我这样:UPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUP
-
我试了直接用百度和Google搜,没有找到满意的结果,麻烦有特殊途径的朋友告诉一下,谢谢!!!
-
一般用硬件选arm的平台(如pxa系列,s3cXX系列)
系统有WinCE/WM, Linux/Android等。
建议新人对C语言/操作系统/数据结构有深入的研究,能看懂电路逻辑图,能读懂ARM 汇编!
目前一般的驱动开发工程师主要做移植工作。
如,老板买好一个参考板,首先硬件工程师会根据实际需求对外设device(如LCD/Keypad..)进行更改,然后软件工程师调整相应的GPIO配置和设备参数。
-
WinCE是实时内核,但不一定是实时系统,它的实时性取决于你添加了什么系统组件,底层驱动处理是否合理。如果你的中断频率过高,可能会导致整个系统性能下降的。
要提高中断的响应速度,可以考虑把简单的处理放在ISR中,让多个硬件中断后执行一次IST。
-
唉,愣是没听懂!
-
KEY_event这个函数怎么发送键盘按下消息?我看了下msdn,感觉只能发送按键弹起的消息啊。
另外,应该怎么处理长按键这个键盘事件?
-
学习~~~~~
-
看到图就能拿分了
-
在顶一下
-
上式中的“计数速率”与所使用的晶体振荡器频率有关,在51芯片中定时器启动后会在每一个机器周期使定时寄存器TH的值增加一,一个机器周期等于十二个振荡周期,所以可以得知51芯片的计数速率为晶体振荡器频率的1/12,一个12M的晶振用在51芯片上,那么51的计数速率就为1M。通常用11.0592M晶体是为了得到标准的无误差的波特率,那么为何呢?计算一下就知道了。如我们要得到9600的波特率,晶振为11.0592M和12M,定时器1为模式2,SMOD设为1,分别看看那所要求的TH1为何值。代入公式:
11.0592M
9600=(2÷32)×((11.0592M/12)/(256-TH1))
TH1=250 //看看是不是和上面实例中的使用的数值一样?
12M
9600=(2÷32)×((12M/12)/(256-TH1))
TH1≈249.49
上面的计算可以看出使用12M晶体的时候计算出来的TH1不为整数,而TH1的值只能取整数,这样它就会有一定的误差存在不能产生精确的9600波特率。当然一定的误差是可以在使用中被接受的,就算使用11.0592M的晶体振荡器也会因晶体本身所存在的误差使波特率产生误差,但晶体本身的误差对波特率的影响是十分之小的,可以忽略不计。
引用 7 楼 lbing7 的回复:
void init_serialcomm( void )
{
SCON = 0x50 ; //SCON: serail mode 1, 8-bit UART, enable
ucvr TMOD |= 0x20 ; //TMOD: timer 1, mode 2, 8-bit reload
PCON |= 0x80 ; //SMOD=1; TH1 = 0xF4 ; //Baud:4800 fosc=11.0592MHz
IE |= 0x90 ; //Enable Serial Interrupt
TR1 = 1 ; // timer 1 run // TI=1;
}
PCON |= 0x80 ; //SMOD=1; TH1 = 0xF4 ; //Baud:4800 fosc=11.0592MHz
看看你的这一行代码
然后你自己去算一个12M的
-
这个问题以前我看过,好像有人和刷新频率有关,还有就是一些经验值,这里只是一点个人想法!