-
"2楼的解释是对的,这不是ST的BUG,是楼主脑袋里的BUG",作为技术支持的斑竹是这样说话的吗?
我做了近20年的硬件,其间串口波形不知看了多少!从来没有听说过"8位数据,1位校验实际上是7位数据加1位校验"!如果还有会用示波器的,把PC串口设成8位数据加一位任意(奇或偶)校验,打一下波形看看是什么样子,不要信口雌黄!你自己做的不标准没关系,你可以说LZ就是要这样设计,但不要说通行的标准就是这样的,更不要诬陷指出自己错误的人.极端BS某些"人"!
-
Illegal flag using timer 2 and timer 3
Hi all
I am getting an illegal opcode that reset the micro using the timer2 and 3 together.
My program is using 2 different function
-> 1 siren
-> Communication
Sepparetly they work fine... but when I make them run together I get the opcode error
In the code the communication is using fyreye.c and the siren piezo_sounder.c
Thank you for your time
Rémi
-
谢谢大哥,这个思路很有用,小弟去研究研究
-
引用 10 楼 ztg328 的回复:
我是dm642和2440 现在不能通
我用的是6455和2442,你的硬件能通吗
-
买最便宜的,最小系统板,附带全部接口的就行,我就这么干的!瞅着做工漂亮的开发板好几百,学会了后也是浪费!
-
看不懂!帮顶!
-
应该不是这个问题,因为这个触摸屏在其他板子上也用过,但没发生这么奇怪的现象
-
引用 3 楼 wslxs2008 的回复:
我想问下,你是怎么把8086加进去的?
我用的是7.5版本的,然后点击“器件选择器”里的“P”按钮,在“关键字”中输入“8086”就会找到了。
-
来学习的!
-
个人认为如果传输的数据量较多,可以使用联合体方式,而如果只是偶尔发送,用移位方式就可以了。至于指针方式,比移位方式要节省不少资源,但对初学者来说理解上会有一些困难,但这种方法还是一种比较好的方法,我也较常用。
-
引用 3 楼 rzsheng 的回复:
C/C++
-
microsoft pocket internet explorer 只是一个摆设,基本没有实用性,上个稍微复杂的网站都会挂掉
microsoft internet explorer6.0 还勉强可以用用
另外要注意注册表里的浏览器标识,如果你的浏览器标识是 pocket ie/windows ce 之类的手机浏览器,某些网站会自动跳转到手机的wap页面,就杯具了.
-
WINCE开机自动运行指定程序
你去看下吧,应该比较详细了
-
http://www.cnblogs.com/we-hjb/archive/2009/11/11/1601249.html
參考下
-
//设置部分
define symbol RAM_SIZE = 1024*16;
define symbol ROM_SIZE = 1024*64;
define symbol CSTACK_SIZE = 1024*1;
define symbol HEAP_SIZE = 1024*1;
//非设置部分
define symbol RAM_START = 0x20000000;
define symbol ROM_START = 0x08000000;
define symbol INTVEC_START = ROM_START;
define memory mem with size = 4G;
define region ROM_region = mem:[from ROM_START size ROM_SIZE];
define region RAM_region = mem:[from RAM_START size RAM_SIZE];
define block CSTACK with alignment = 4, size = CSTACK_SIZE { };
define block HEAP with alignment = 8, size = HEAP_SIZE { };
initialize by copy { rw };
do not initialize { section .noinit };
place at address mem:INTVEC_START {ro section .intvec };
place in ROM_region {ro code,ro data};
place at start of RAM_region {rw};
place in RAM_region {block HEAP};
place at end of RAM_region {block CSTACK};
Image0278.JPG
(56.63 KB)
下载次数:1
2009-12-4 20:55
-
应该是初始化的出问题了。LCD写数据函数 和写指令, 好象是先E=1,再给数据或者指令,再延时,在E=0.
-
我用AVR做过,用的是计时器捕捉中断。
51系列的思路应该和AVR的差不多,红外遥控按键按下108ms后,会发射连发码,程序里根据这个判断即可。
-
上位机是指:人可以直接发出操控命令的计算机,一般是PC,屏幕上显示各种信号变化(液压,水位,温度等)。下位机是直接控制设备获取设备状况的的计算机,一般是PLC/单片机之类的。上位机发出的命令首先给下位机,下位机再根据此命令解释成相应时序信号直接控制相应设备。下位机不时读取设备状态数据(一般模拟量),转化成数字信号反馈给上位机。简言之如此,真实情况千差万别不离其宗。上下位机都需要编程,都有专门的开发系统。
另外,上位机和下位机是通过通讯连接的“物理”层次不同的计算机,是相对而言的。一般下位机负责前端的“测量、控制”等处理;上位机负责“管理”处理。下位机是接收到主设备命令才执行的执行单元,即从设备,但是,下位机也能直接智能化处理测控执行;而上位机不参与具体的控制、仅仅进行管理(数据的储存、显示、打印......人机界面等方面)。常见的DCS系统,“集中-分散(集散)系统”是上位机集中、下位机分散的系统。
在概念上,控制者和提供服务者是上位机.被控制者和被服务者是下位机.也可以理解为主机和从机的关系.但上位机和下位机是可以转换的.
两机如何通讯,一般取决于下位机。TCP/IP一般是支持的。但是下位机一般具有更可靠的独有通讯协议,购买下位机时,会带一大堆手册光盘,告诉你如何使用特有协议通讯。里面会举大量例子。一般对编程人员而言一看也就那么回事,使用一些新的API罢了。多语言支持功能模块,一般同时支持数种高级语言为上位机编程。
上位机是指:人可以直接发出操控命令的计算机,一般是PC,屏幕上显示各种信号变化(液压,水位,温度等)。下位机是直接控制设备获取设备状况的的计算机,一般是PLC/单片机之类的。上位机发出的命令首先给下位机,下位机再根据此命令解释成相应时序信号直接控制相应设备。下位机不时读取设备状态数据(一般模拟量),转化成数字信号反馈给上位机。简言之如此,真实情况千差万别不离其宗。上下位机都需要编程,都有专门的开发系统。
在概念上
控制者和提供服务者是上位机
被控制者和被服务者是下位机
也可以理解为主机和从机的关系
但上位机和下位机是可以转换的
两机如何通讯,一般取决于下位机。TCP/IP一般是支持的。但是下位机一般具有更可靠的独有通讯协议,购买下位机时,会带一大堆手册光盘,告诉你如何使用特有协议通讯。里面会举大量例子。一般对编程人员而言一看也就那么回事,使用一些新的API罢了。多语言支持功能模块,一般同时支持数种高级语言为上位机编程。
上位机——PC
下位机——MC
我感觉很有道理,大家一起分享。
-
Cosmic的printf函数库没有实现对硬件支持,因此你要自己做具体的putchar函数,这样你可以任意定义printf输出到UART1,UART2,还是UART3,甚至你都可以将其定义输出到SPI,CAN
-
引用 11 楼 skynet000 的回复:
引用 10 楼 wen_hua 的回复:
引用 9 楼 skynet000 的回复:
2440的RTC是可以用作sleep wake-up。
你怎么确定你有进入sleep?PWR_EN有拉低吗?如果外部设备不是很耗电的话,CPU sleep才几个mA而已。
PWR_EN已经是低电平。外设没有啥东西。就只几个usb口和串口。这是何故?
你的PWR_EN是CPU自己拉低的吗?还是你用外部GPIO强制拉低的啊。
请问有进入OEMPowerOff的OALCPUPowerOff();这句??在它前面打印有一下看看。
pwr_en是cpu自己拉低。进入有到OALCPUPowerOff();