【TECH】PIC SPI 调试

  今天调试了PIC 的SPI通信,利用双机通信一个pic做主机,一个PIC做从机,主机一直不停的发送两个不同的数据,从机接收,当接收完后进入中断,中断中将接收到的数据传给PD口的LED做指示,仿真通过,显示正确。在经过仿真LCD传输显示后可以得到正确的传输数据,但在传输字符串时还是有些问题。之后在发送字符串程序中设置发送一个字符后就设置一段延时后,传送情况好了很多,从机在LCD上已经可以正常显示字符串。但效果还是不十分理想。

在调试中出现了一个问题,当我在做中断处理时,在其中调用某些函数后,编译时会出现"cgpic.exe应用程序错误","0x00444342指令引用的'"0x000000008内存"无法写的错误,经过查询,原因是在PIC单片机中,中断是不可重入的,也就是在中断处理服务调用的函数,在别处是不允许在被调用的。解决的方法是设置标志位,传递标识,主程序循环扫描标识位。但感觉存在问题,就是程序的实时性能否保证,这个需要实际的测试。

在做键盘扫描时,对于PORTA口,首先要将ADCON1=0x07; 将其设置成为数字口,PORTA默认不是数字口。然后再设置其输入,执行键盘扫描,这是才可以读回端口状态。

对于端口D,在将其用作IO口线时,需要在PSPMODE清零的情况下,如果PSPMODE置位,此时端口D作为微处理器端口,工作在从动并行方式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值