打印

今天看见了和日本人的差距,寒心。

[复制链接]
4316|29
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jadetang|  楼主 | 2008-5-22 10:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
做了一个LED显示器的控制板,日本的用的两片51加一个双口ram,可能以为是日本人做得早吧,ARM不流行,现在我们用ARM做,CPU是LPC2292,按说处理能力应该达到要求了吧。可是在通信协议里面有一项是控制板必须发送应答数据给上行,通过LPC2292的串口模块发出去,才发现这个发送的速度真是慢啊,bps是9600,定死的。由于整个程序的运行速度卡在了这个应答上面,造成LED屏幕显示的闪烁。


后来一想,日本人为什么要用两片51,估计也是考虑了这个问题吧,一片用来做通信,一片用来做显示控制。恩,以后多注意。

相关帖子

沙发
dld2| | 2008-5-22 10:10 | 只看该作者

这个和日本人没关系

如果串口通讯速度满,而影响到你的LED显示,是你设计的问题。

使用特权

评论回复
板凳
菜鸟的心态| | 2008-5-22 10:10 | 只看该作者

所以要努力啊

所以我们这一代要努力啊~~

使用特权

评论回复
地板
t.jm| | 2008-5-22 10:16 | 只看该作者

奔驰追不上单车肯定是你的问题.

使用特权

评论回复
5
xwj| | 2008-5-22 10:41 | 只看该作者

kao,这和日本人有个P关系

是你自己的程序写的太烂了

用LPC2292的硬件串口,bps是9600都能影响到显示,真是不得不佩服你!

使用特权

评论回复
6
aweyfan| | 2008-5-22 10:43 | 只看该作者

够烂

不懂用中断

使用特权

评论回复
7
computer00| | 2008-5-22 11:05 | 只看该作者

哈哈~~~奔驰追不上单车不一定是楼主的问题~~~

可能是人家单车开的单车道或者小胡同拉,奔驰开不上去的~~~~

使用特权

评论回复
8
xwj| | 2008-5-22 11:08 | 只看该作者

LZ的奔驰之所以追不上单车,是因为他是推着奔驰跑:-)

使用特权

评论回复
9
hq_y| | 2008-5-22 11:11 | 只看该作者

学习所长的mcu设计理论,51能跑出arm的水平

否则arm跑不出51的水平

使用特权

评论回复
10
chunyang| | 2008-5-22 11:28 | 只看该作者

楼主的问题确实是自己的软件设计问题

想想多任务调度机制……

使用特权

评论回复
11
jadetang|  楼主 | 2008-5-22 13:33 | 只看该作者

真的是软件问题吗?

多任务调度,中断都用了。
把问题简化了,就这段代码
                                        OSTimeDlyHMSM(0,0,0,200);
                    UART0_SendByte(0x02);
                    OSTimeDlyHMS(0,0,0,200);
                    UART0_SendByte(0x00);
                    OSTimeDlyHMSM0,0,0,200);
                    UART0_SendByte(0x03);
                    OSTimeDlyHMSM0,0,0,200);
                    UART0_SendByte(0x03);
正在扫描LED的时候,来个中断,你1000毫秒类要应答这4个字节。
我时间片都分得够细了,还是影响了LED的显示。
好比奔驰和单车在一条路上,这段路上有一段宽度只有1米,奔驰能跑过单车吗?

使用特权

评论回复
12
dld2| | 2008-5-22 13:46 | 只看该作者

楼主

串口发送用中断方式。
待发送的数据包先放在缓冲区。
发送中断可以在有数据发送时打开,发送完毕后关上。

另,没见过发送一个字节后,再用OS的delay调用延时的。这个delay一般用来处理ms级以上的延时。

使用特权

评论回复
13
jadetang|  楼主 | 2008-5-22 15:56 | 只看该作者

你没见过吗?

delay使这个任务挂起,分一点时间片给显示的任务,这样可以减小闪烁,有不对?

使用特权

评论回复
14
maychang| | 2008-5-22 16:28 | 只看该作者

同意8楼

使用特权

评论回复
15
computer00| | 2008-5-22 16:47 | 只看该作者

把刷LED放到优先级最高的定时器中断里面,看它还闪不?

不要搞什么操作系统了...

使用特权

评论回复
16
liulwn| | 2008-5-22 17:02 | 只看该作者

有差距呀

就国产的螺丝和进口的螺丝来比吧,国产的拧几次就没牙了,进口的拧来拧去都没问题。

使用特权

评论回复
17
t.jm| | 2008-5-22 17:25 | 只看该作者

差距是有,而且大部分的差距是人为的.

只要老板有做高档产品的决心,我们的产品不和别人比,和自己比也能在一夜之间进步十年.
举一些例子:
1:路边摊上有那种老虎钳,用的铁又多便宜不能用,比小日本的钳子差多了,
但是路边摊上那种老虎钳代表着我们的实际水平吗?
2:我最痛恨臭豆腐,腐竹等不用和别人比,比自己1000年前的老祖宗都不如,倒退
1000年以上,这合逻辑吗?
3:很多工程师热忠于用IO口做LOW COST的AD,如果用带AD的MCU去做产品不会更稳定更好吗?
所以我说,只要这个社会有决心做好的产品,我们一夜之间就能进步十年以上.

使用特权

评论回复
18
djyos| | 2008-5-22 17:52 | 只看该作者

LZ这个水平还想代表中国人

你的水平只代表你自己,并不代表中国人的水平,用两个51的水平也并不一定就代表了日本人的水平,

使用特权

评论回复
19
yewuyi| | 2008-5-22 17:52 | 只看该作者

小日本的两片51就已经够烂的了……

呵呵,LZ的程序更烂……

使用特权

评论回复
20
keaiduoyu| | 2008-5-22 19:16 | 只看该作者

用单片机控制LED怎么也不会闪的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

51

主题

108

帖子

0

粉丝