现在用STM32输出八路正弦波,再加AD采样,lcd显示,那问题来了,AD采样和lcd显示比较耗时间,而且要不停的刷新,严重影响了输出波形的质量,对于这种问题应该如何解决呢?注:波形产生是用DA查表法!
输出用定时器中断,AD采样也用定时器中断。LCD显示部分把数据分成两部分,一部分是内容不需要实时更新的,比如提示性字符,只切换的时候刷新一次,或者比较慢的刷新就行。另外的一类是实时数据,实时刷新。而且实时刷新的频率不用太高,一秒钟一两次就行。
输出现在就是用的定时器中断,输出正弦波频率是50Hz的,正弦波数据表是512个点,就是大约40us就得中断一次,时间还是很短的,现在我把AD采样用定时器试试!
输出放在定时器中断里不行,因为中断函数没执行完,40us又到了,又要产生中断了
好好计算一下每个任务的耗时量,再看看用分时调度的手段能否满足,能,通过合适的程序结构就能实现,仍然不能,那么换能满足的MCU。
上传了一些书籍资料,也许有你想要的:https://download.eeworld.com.cn/user/chunyang
lcd显示不耗时间,adc可以开dma,da也可以dma.