本帖最后由 lihuasoft 于 2020-6-29 13:14 编辑
首先分享一个图片。是把AC7801x参考手册里的CTU框图,填写了寄存器名称、寄存器值等。
不同的片内设备之间,用一些导线、开关在片内相互连接着,作为不同设备之间的捷径。
这种做法,STM32也有,但STM32的这种连接关系分散在ADC、TIM、UART等处配置,比较抽象。
而杰发MCU把这些连接关系,全部映射在一起统一管理,名为CTU。
这就更加直观清晰了。
下面这个测试,用CTU把UART2RX的信号连接到PWDT0(也就是用了上图中的右上角那部分),
然后在PWDT0的RDY中断里翻转IO引脚电平。
一、用AutoGen Studio配置工程
主要使用以下设备:
CTU:其属性PWDT0IN3 Input Source设置为UART2RX
PWDT0:其Pin Select配置为内部输入通道Internal_IN,开启Ready等中断
UART2:波特率设置为110
具体请查看本贴附件中的AutoGen工程
PWDT_CTU_UART2RX.rar
(1.09 MB)
二、用AutoGen生成的代码里,添加下面这段程序
这段代码的用途是,每当PWDT0的RDY中断发生,就翻转PC9的电平
其他代码全部由AutoGen自动生成。
三、实验结果
上图可以看出,UART2RX的下降沿发生了PWDT的RDY中断,并在中断里翻转了PC9的电平。
PWDT0的EDGE寄存器值为PWDT_RISING_START_CAPTURE_ALL,
按参考手册,的确是下降沿发生中断:
把EDGE寄存器的4种可选值全部试验了一下:
|