完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
` Elecfans论坛高手问答第1期 朱兆琪在线解答单片机C语言编程 本期高手问答(6月30日-7月6日)我们请来了 @zzq宁静致远 为大家解答关于单片机C语言编程方面的问题。 @zzq宁静致远 朱兆琪,我相信大家不陌生。目前深圳市馒头科技有限公司总经理,在论坛连载多个技术贴,从C语言到STM32到蓝牙4.0,引起大家的强烈反响,熟知嵌入式开发。著有《嵌入式Linux开发实用教程》一书,关于朱兆琪,点此了解更多 Elecfans高手问答一贯的风格,不欢迎任何与主题无关的讨论和喷子。 下面欢迎大家就单片机C语言编程方面问题向 @zzq宁静致远 提问,请直接在回帖中提问。 为了鼓励大家踊跃提问,特准备两本《嵌入式Linux开发实用教程》作为幸运奖品,届时将有 @zzq宁静致远 从所有提问者中抽取赠予此书。 |
|
相关推荐
68个回答
|
|
谢谢分享 |
|
|
|
最近写一个I2C控制程序,但是从设备不响应,一直想不到解决的办法,请两位老师把把脉!
@zzq宁静致远 @jianhong_wu 是用汇编写的,从设备在第九个时钟(SCL)时,始终不响应(即SDA为高)(地址是从按器件手册给的,从高位到低位送入的,第一个ack都没响应)。于是我按照器件手册检查我的时序也没有什么问题,也加了时延,时延大于器件要求的好几倍(我用示波器看过),也没有响应,也检查了两线电压也是正常的。这个单片机是用仿真器代替的,所以也找到一只编好程序的单片机(和仿真器型号对应的)接到原电路,从设备能响应,所以可以排除从设备的问题。所以现在不知道我的程序问题出在哪里 电路是SCL是常输出状态,SDA是接上接电阻的开漏集输出 下面是程序片段: WDAT: CALL WP MOVIA 00001000B IOST IOSTB ;config reading from pin CALL DLGAP BSR IOSC ;check ack CALL DLGAP BTRSC PORTB,IOB3_B ;PB第三口(SDA)如果为低则中跳过下一条指令,目前这里始终为高,所以执行的总是 goto stop 这句,正常的话应中跳过这一句,执行BCR IOSC GOTO STOP BCR IOSC CLRA IOST IOSTB BCR IOSC . . STOP: MOVIA 01H IOST IOSTB CALL DLGAP BCR IOSC CALL DLGAP BCR IOSD CALL DLGAP BSR IOSC CALL DLGAP BSR IOSD ;///////////////////////////////////////////////////////// ;///////wp是访问开始与发送器件地址0x20/////////// ;/////////////////////////////////////////////////////// WP: BCR IOSD ;开始,SDA拉低 CALL DLGAP ;时延,约有一二十微秒,器件要求不小于2微秒 BCR IOSC ;SCL拉低 CALL DLGAP BCR IOSD ;0 地址最高一位是0 CALL DLGAP BSR IOSC CALL DLGAP BCR IOSC CALL DLGAP BCR IOSD ;0 地址下一位是0, CALL DLGAP BSR IOSC CALL DLGAP BCR IOSC CALL DLGAP BSR IOSD ;1地址下一位是1 CALL DLGAP BSR IOSC CALL DLGAP BCR IOSC CALL DLGAP BCR IOSD ;0 CALL DLGAP BSR IOSC CALL DLGAP BCR IOSC CALL DLGAP BCR IOSD ;0 CALL DLGAP BSR IOSC CALL DLGAP BCR IOSC CALL DLGAP BCR IOSD ;0 CALL DLGAP BCR IOSC CALL DLGAP BCR IOSD ;0 CALL DLGAP BSR IOSC CALL DLGAP BCR IOSC CALL DLGAP BCR IOSD ;0地址最低一位是零 CALL DLGAP BSR IOSC CALL DLGAP BCR IOSC CALL DLGAP RETURN |
|
|
|
yangjiawei1223 发表于 2014-7-1 16:19 我认为当函数正常结束后,得到的函数值为0(或1或-1);但是当执行函数过程中出现异常或错误时,函数值是一个非0(1或-1)的数值.整个过程可能是没有调用到这个值,但是你可以利用操作指令检查函数的返回值的,从而判断程序是否正确运行~ |
|
|
|
很不错的资料顶一个
|
|
|
|
嵌入式现在应用很广泛了
|
|
|
|
单片机的天堂啊 大神交流
|
|
|
|
{:2:}{:2:}{:2:}{:2:}
|
|
|
|
|
|
谢谢分享,学习了
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1959 浏览 0 评论
【每周推荐】采用11代Intel CPU,基于youyeetoo X1开发板搭建少儿AI智能STEAM积木平台
991 浏览 0 评论
3170 浏览 2 评论
【youyeetoo X1 windows 开发板体验】+ 影音处理和AI模型移植
2810 浏览 5 评论
I.MX6ULL-飞凌 ElfBoard ELF1板卡- 移植zbar的方法
1848 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
6641 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-5-13 19:33 , Processed in 0.824575 second(s), Total 86, Slave 69 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号