|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
請(qǐng)周公和各位大俠救急!為什么不能在一個(gè)任務(wù)中跑多個(gè)SPI操作 |
| 作者:peterhong 欄目:ARM技術(shù) |
小弟用的是2114,今天調(diào)試發(fā)現(xiàn)在一個(gè)任務(wù)中不能跑多個(gè)SPI操作,程序如下,只能順利運(yùn)行前兩個(gè),而第三個(gè)就走不動(dòng)了,不知何顧,焦急等待周公和各位高手的解答. #include "config.h" #define LED1 (1<<22) #define TASK_STK_SIZE 64 OS_STK TaskStartStk[TASK_STK_SIZE]; void TaskStart(void *data); int main (void) { OSInit(); OSTaskCreate(TaskStart, (void *)0, &TaskStartStk[TASK_STK_SIZE - 1], 0); OSStart(); return 0; } void TaskStart(void *pdata) { uint8 TEMP; pdata = pdata; /* 避免編譯警告 */ TargetInit(); /* 目標(biāo)板初始化 */ PINSEL1 = (PINSEL1 & 0xf3ffcfff); IO0DIR = IO0DIR|HC595_CS|LED1; for (;;) { IO0CLR = LED1; SPIStart(); IO0CLR = HC595_CS; SPIRW(&TEMP,0x07); SPIRW(&TEMP,0xff); IO0SET = HC595_CS; SPIEnd(); OSTimeDly(OS_TICKS_PER_SEC / 5); OSTimeDly(OS_TICKS_PER_SEC*10); IO0SET = LED1; OSTimeDly(OS_TICKS_PER_SEC*10); IO0CLR = LED1; SPIStart(); IO0CLR = HC595_CS; SPIRW(&TEMP,0x06); SPIRW(&TEMP,0x00); IO0SET = HC595_CS; SPIEnd(); OSTimeDly(OS_TICKS_PER_SEC / 5); OSTimeDly(OS_TICKS_PER_SEC*10); IO0SET = LED1; OSTimeDly(OS_TICKS_PER_SEC*10); IO0CLR = LED1; SPIStart(); IO0CLR = HC595_CS; SPIRW(&TEMP,0x08); SPIRW(&TEMP,0x99); IO0SET = HC595_CS; SPIEnd(); OSTimeDly(OS_TICKS_PER_SEC / 5); OSTimeDly(OS_TICKS_PER_SEC*10); IO0SET = LED1; OSTimeDly(OS_TICKS_PER_SEC*10); IO0CLR = LED1; SPIStart(); IO0CLR = HC595_CS; SPIRW(&TEMP,0x02); SPIRW(&TEMP,0x88); IO0SET = HC595_CS; SPIEnd(); OSTimeDly(OS_TICKS_PER_SEC / 5); OSTimeDly(OS_TICKS_PER_SEC*10); IO0SET = LED1; OSTimeDly(OS_TICKS_PER_SEC*10); } } |
| 2樓: | >>參與討論 |
| 作者: zlgarm 于 2005/12/6 9:13:00 發(fā)布:
re 有沒(méi)調(diào)用SPIInit(uint8 Fdiv)初始化?還有就是需要自己設(shè)置SPI初始化向 量中斷控制器部分. 大量重復(fù)操作請(qǐng)使用子程序來(lái)編寫(xiě). |
|
|
|
| 免費(fèi)注冊(cè)為維庫(kù)電子開(kāi)發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |