颈椎病用治疗仪可以吗:使用GPIO模拟IIC的遇到的N个问题

来源:百度文库 编辑:九乡新闻网 时间:2024/04/24 14:20:49
使用GPIO模拟IIC的遇到的N个问题 

作者:wogoyixikexie@gliet

 

wogoyixikexie@gliet 说:
不好意思,问个很笨的问题。2440执行简单C语言花多长时间,是怎么算的?
wogoyixikexie@gliet 说:
http://topic.csdn.net/u/20081126/11/1324952d-2e52-4b8e-8ffb-ff1584814d58.html
CSDN-songtitan牛人 说:
这个当然无法精确了
wogoyixikexie@gliet 说:
就是大概的,
wogoyixikexie@gliet 说:
我要知道大概就可以了
wogoyixikexie@gliet 说:
上面那个是我在CSDN发的帖子,
CSDN-songtitan牛人 说:
S3C2440A_FCLK是什么
wogoyixikexie@gliet 说:
GPIO模拟IIC,搞不定,我发现可能是延时的问题
wogoyixikexie@gliet 说:
就是2440的主屏
wogoyixikexie@gliet 说:
主频405MHZ

CSDN-songtitan牛人 说:
你抓波形啊
CSDN-songtitan牛人 说:
看看波形长什么样子再确定问题
wogoyixikexie@gliet 说:
哎,公司的示波器烂的要死,我点灯是没有问题,控制IO是正常的。
CSDN-songtitan牛人 说:
我也不太理解代码中为什么这么处理
wogoyixikexie@gliet 说:
也只有像你说的那样做了,试验出来,然后修改
CSDN-songtitan牛人 说:
你是不是在CE里用这个函数?
wogoyixikexie@gliet 说:
对啊
CSDN-songtitan牛人 说:
还是bootloader
wogoyixikexie@gliet 说:
在驱动里面
CSDN-songtitan牛人 说:
不行,最好不能这么做
wogoyixikexie@gliet 说:
我看别的驱动有,我就搬过来用
CSDN-songtitan牛人 说:
CE是多任务系统,这种做法只适合在bootloader这种单任务环境里用
wogoyixikexie@gliet 说:
那一般怎么做?
CSDN-songtitan牛人 说:
用CPU的Timer啊
wogoyixikexie@gliet 说:
这样会影响wince的实时性?
CSDN-songtitan牛人 说:
线程优先级不高的话,是可能被打断的
wogoyixikexie@gliet 说:
对,的确是个问题,我后来弄个循环检测的线程,导致2440跑的很慢
CSDN-songtitan牛人 说:
用Sleep的话也有可能不精确,不过可以试一试


转载请标明wogoyixikexie@gliet桂林电子科技大学一系科协,如有错误,希望能够留言指出。