上面的图片, 是简单的 工作流程:
* 在 while 循环中, 先配置 芯片A 工作; 芯片A 工作完成以后, 通过 INTn 通知 CC1310
* 芯片A 的工作时间 是变动的, 最小 1.1秒, 最大 1.7秒。 为了让 CC1310 省电, 代码中使用了 sleep(2);
* 芯片A 完成操作以后, 产生 INTn 信号, 将 req_wl_tran 赋值; 上图代码, 当 sleep(2) 完成了2秒睡眠, 才会 执行 无线发射 proc_wl_tran()
请教的问题: 芯片A 工作时间 1.1秒~1.7秒; 上图代码中 使用 sleep(2), 会导致 无线发射操作proc_wl_tran() 被延迟了 0.9秒~0.3秒。
需要怎样处理, 可以使得 INTn 有效以后, 就可以 直接运行 无线发射操作 proc_wl_tran() ?
备注: 尝试过 将 无线发射proc_wl_tran() 放置到 INTn_CallbackFxn 这个中断函数 内部; 但是, 程序不能 顺利运行。
好像有一个说法: CC1310 每一个无线包 发送以后, 也调用 tx_callback 中断函数; 在管脚 INTn 中断函数内部, 不能够 也执行 无线发送的 中断函数。