(教程)串口通信ASRPRO语音芯片的程序口教程

本篇教程将基于天问block内的官方范例代码讲解如何编写ASRPRO语音芯片程序以实现串口通信多线程模块编程和ADC数据读入功能。以上便是使用天问BLOCK软件编写ASERPRO语音芯片控制的单片机的基本操作教程,后续我将在发一篇文章讲解该芯片的常用外设的程序编写方法。

1、串口通讯

ASRPRO语音芯片有3组可用串口(UART1对应PA2、PA3,UART2对应PA5、PA6、UART0

对应PB5、PB6),同时UART0默认为APSRPRO语音芯片的程序烧录口,因此这两个引脚在使用时不会复用于其他功能。 在后续的程序中,不需要复用引脚,也不需要添加新的串口硬件外设,因此在测试程序中经常使用。 应用时请尽量只使用1、2两个串口,并记得重复使用引脚后再使用。 。

如图所示,在使用串口1进行通信之前,PA2和PA3复用为UART1_TX(输出串口)和UART2_RX(输入串口)。 默认引脚功能GPIO口为第一个功能,括号内的功能从第二个开始计数。 串口函数位于括号中的第三个,所以串口函数是第四个函数。 连接串口时,TX连接RX,RX连接TX,GND连接GND,根据串口设备需要的电压连接电源。

串口通信示例程序如下:

程序中使用串口时,需要设置串口通信的波特率。 下面串口打印数据时,可以选择两个程序块:自动换行和默认不换行。 前者发送数据后会自动发送/n进行换行。 根据接收端需要进行选择。

编程界面右上角有一个串口监控选项,用于监控通过USB连接到电脑的串口。 上述程序使用烧录程序的串口0进行通信,因此烧录程序时可以选择使用的USB线。 串口通讯测试,使用UART1、2,可以使用串口USB转换线连接单片机和电脑进行测试

串口监视器的主要功能如下:

具有串口输出功能的程序可以通过串口监视器进行测试。

2.多线程模块

作为ASRPRO语音芯片的强大功能之一,多线程模块允许多个任务在操作系统的调度下以分时的方式并行执行,多个线程使用消息队列进行通信。 在一定程度上替代了中断和定时器的功能。 在一定程度上可以看作是一个多线程模块,将单片机划分为多个具有预设内存的小单片机,分别执行各种功能。 消息队列类似于多个小型单片机之间的串行通信,从而达到同时执行多个不同功能的效果。

多线程模块示例程序如下:

同时,多线程模块的程序块选项中有一个软件定时器,可以以独立线程的形式单独放置,使得定时器内部的程序每隔一定时间运行一次,从而实现定时器的功能。 使用前需要先通过相关程序启用。 使用后需要使用程序停止计时器。 关键保护程序可以让内部程序正常运行,在为其他程序调度任务时不会被中断。

3.ADC模块

就像传统微控制器上的ADC输入检测一样,ASPRPRO语音芯片上的ADC检测可以将当前连接到引脚的信号数据传输到预设变量中,并在后续程序中使用。 其中,可检测的ADC电信号分辨率为12位,返回值范围为0~4095。 仅PC_1、PC_2、PC_3、PC_4引脚具有ADC输入检测功能。

ADC输入检测示例程序如下:

以上就是使用天问BLOCK软件对ASERPRO语音芯片控制的单片机进行编程的基本操作教程。 后面我会发一篇文章讲解该芯片常用外设的编程方法。

单片机

草莓出现问题的原因有什么?怎样防治草莓病害?

2024-2-18 20:05:27

单片机

(课程)草莓的种子——画一画好吃又好看的草莓

2024-2-18 21:09:12

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索