TI中文支持网
TI专业的中文技术问题搜集分享网站

cc2650 sensortag GPIO output

我是拿Ti 的範例SensorTag 來修改,我在SensorTag_taskFxn()中自己另外加了一個新的event並在這裡傳送data,
我把pin16成設如下:
             IOID16        | PIN_GPIO_OUTPUT_EN  | PIN_PUSHPULL | PIN_DRVSTR_MAX, 

並在event 裡面做 PIN_setOutputValue的動作,大約傳送60幾筆 (120bit的data,每個bit大約10 micro second),
但其中總是會有一兩筆多好20幾個1或0,請問這會是什麼問題呢?
(我在想是不是因為cpu突然切去做別的事情,像是藍芽的scan等等之類的嗎?)
best regards, 

Butterfly:

你可以在Debug界面,让代码暂停在你IO口反转的地方然后跑一段时间,然后暂停,去Execution Analysis下面去看Task。有优先级更高的需要处理的话,肯定是先处理优先级更高的。RTOS是多任务,根据优先级顺序来处理

da qin zheng sheng:

你的数据传输一次需要1200毫秒时间,对蓝牙的实时要求比较高。

Anna Lin:

回复 da qin zheng sheng:

嗨~可是我是用pin透過杜邦線傳送出去的,這樣還會有藍芽的問題嗎?

Anna Lin:

回复 Butterfly:

哈囉~不過我試著把Task 的優先權調到最高,一樣會發生這樣的問題,而且我想請問一個event還沒執行完,他會context switch 嗎 ?

赞(0)
未经允许不得转载:TI中文支持网 » cc2650 sensortag GPIO output
分享到: 更多 (0)