【已解决】【TuyaOS OS】关于一个8000次for循环执行时间8MS

蓝牙 BLE设备、蓝牙 MESH设备、蓝牙 Beacon设备、Sub-G设备等


Post Reply
luzhihui
Posts: 26

1)tuyaos-subdev-bt_3.9.0_phy6222_ble_ble-common_1.0.1.tar
2)执行了一个128*64的OLED 给每个点赋值,发现有8MS的时间,开始以为是我代码问题,屏蔽了所有代码后开启一个20MS定时器,在定时器里面模拟操作,然后使用逻辑分析仪抓一个测试电平,发现确实要8MS。我现在想问下,这个时间合理吗?

Weixin Image_20240311193443.png
Weixin Image_20240311193435.png
Last edited by luzhihui on 2024年 Mar 12日 16:18, edited 1 time in total.
User avatar
逻辑的院子
Posts: 219
Contact:

Re: 【求助】【TuyaOS OS】关于一个8000次for循环执行时间8MS

请贴一下相关代码,例如test_timeout_handler是由哪个接口调用的?

luzhihui
Posts: 26

Re: 【求助】【TuyaOS OS】关于一个8000次for循环执行时间8MS

这个就是一个软定时器回调

User avatar
逻辑的院子
Posts: 219
Contact:

Re: 【求助】【TuyaOS OS】关于一个8000次for循环执行时间8MS

这个时间实际上就是您写的代码运行时间,跟主频有关,如果是在软定时中,也可能会受到其他中断的影响。
驱动OLED屏幕,一般是使用SPI或者IIC等数字接口,例如TuyaOS BLE SDK官方历程中使用的就是IIC驱动,例程详见:https://developer.tuya.com/cn/docs/iot- ... pp9a7lx3c0

luzhihui
Posts: 26

Re: 【求助】【TuyaOS OS】关于一个8000次for循环执行时间8MS

这个我就是拉的一个SDK,没什么其他功能,就创建了一个20MS软定时器,然后在回调中测试的。用的是PHY6222,外部晶振是16M.其他SDK没做什么修改的情况下测试。这个时间正常吗?我的OLED驱动用的SPI+DMA方式,驱动是没什么问题的,就是在做数据处理的时候,发现耗时很长。

User avatar
逻辑的院子
Posts: 219
Contact:

Re: 【求助】【TuyaOS OS】关于一个8000次for循环执行时间8MS

这个时间就是您写的for循环代码运行的时间,理论上是正常的,如果需要调整时间长短,您可以修改for循环的次数。

luzhihui
Posts: 26

Re: 【求助】【TuyaOS OS】关于一个8000次for循环执行时间8MS

最后一个疑问,6222外接16M晶振,那么运行主频是多少?这个主频可以修改吗?

User avatar
逻辑的院子
Posts: 219
Contact:

Re: 【求助】【TuyaOS OS】关于一个8000次for循环执行时间8MS

默认就是16MHz,如果需要修改,可以修改这个变量“g_system_clk”,奉加微官方建议不要超过48MHz

luzhihui
Posts: 26

Re: 【求助】【TuyaOS OS】关于一个8000次for循环执行时间8MS

好的,感谢

Post Reply