-
lpc1343的ssp做spi ,特别是ssel使能端当普通IO片选来用,有时候会发生电平翻转,我用分析仪测试过,原因不明。结果就是有时候的spi读写正确,有时候又不正确。
-
谢谢大家关心,现在已经没事了。
自己在鼓捣鼓捣好了。马上也快出来了。
-
板子上的芯片都是用的他们家的,结果来这么一手。无语了。
-
问题我已经找到,用spi的时候必须统一方式,如果用硬件spi,那么接口设置就要全部设置成硬件的。用io模拟spi就要把io都设置成io去模拟,不然ssel使能的电平会发生不确定的翻转。
-
悲剧,我整来整去,读写都不正确。这里又没有示波器。根本没法测试。我囧啊
-
在接收从机的数据时,主机也需要发送空闲字节来产生时钟
--------------
我把ssel 由高拉低,不能触发 sck的时钟产生吗?
我用了你的这种方法,每次返回的数据都是0xff了。
-
能 说明下哪个地方出问题吗。谢谢
-
看到这个图的一瞬间@@,我早饭差点喷了。
跟我做的一个吊样。
-
我自己定义的一个函数指针,编译没有问题,但是主程序里面我加入这个初始化的函数就跑飞了。
void (*call_fkt_[256])(void);
void initCommands(void){ u16 count=0; currentSession = 0;
for (count=0; count < 0x0100; count++) { call_fkt_[count] = callWrongCommand; }
call_fkt_[OUT_FIRM_HARDW_ID] = callHardwareID; //#define OUT_FIRM_HARDW_ID 0x10 call_fkt_[OUT_INVENTORY_ID] = callInventory; //#define OUT_INVENTORY_ID 0x31}//callWrongCommand、callHardwareID、callInventory都是子函数的函数名,是无参数的子函数。
望高手分析下,我的这个指针是定义以后初始化,而例程的是定义的时候就初始化好了。是不是这里有问题?
-
顶,对照手册跟你的说明,很快就弄明白了。
-
灌水下,我还是期待ucos的移植