打印
[方案相关]

华大单片机-OPA及DMAC+UART问题

[复制链接]
5059|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
LG_qiuzhi|  楼主 | 2020-9-14 09:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好,我有几个问题。想请教华大单片机的FAE:
所用型号:HC32L136K8T6
1,使用OPA模块,只使用 OPA1、OPA2。没有用到OPA0,但手册要求必须要同 使能3个OPA(例程也是如此)。硬件已经规划,OPA0其中的引脚作AD,及其它GPIO用,请问,OPA0对这样的使用,会不会出问题?(目前测试没有出现问题)---就是同时使能3个OPA模块
2,如何使用DMAC+ADC,自启开启扫面转换?--调高单片机协效率
3,如果高效使用,DMAC+UART接收不定长度的数据帧?---?

使用特权

评论回复
沙发
martinhu| | 2020-9-14 14:19 | 只看该作者
OPA0在没有初始化,只是使能的时候,外部的OPA0的相关引脚和内部OPA模块是不连接的,参考通用运放的模式,OPA的外部正负输入和输出引脚才和内部OPA模块连接

使用特权

评论回复
板凳
caigang13| | 2020-9-15 18:17 | 只看该作者
只使能,没有进行IO映射是没问题的。

使用特权

评论回复
评论
martinhu 2020-9-16 08:54 回复TA
对应OPA也不能配置,这样的话,即使OPA使能也不会对引脚有影响。 
地板
chenjun89| | 2020-9-15 18:27 | 只看该作者
可以的,你没配置IO官脚,就可以正常使用。

使用特权

评论回复
5
LG_qiuzhi|  楼主 | 2020-9-15 19:57 | 只看该作者
好的,多谢啦

使用特权

评论回复
6
LG_qiuzhi|  楼主 | 2020-9-15 20:15 | 只看该作者
caigang13 发表于 2020-9-15 18:17
只使能,没有进行IO映射是没问题的。

请问有没有 UART 与 DMA同时实用的例子?

使用特权

评论回复
7
LG_qiuzhi|  楼主 | 2020-9-20 08:47 | 只看该作者
算是记录开发帖子:
后面全调试通过了,方法:ADC配置是顺序扫描模式。触发,DMAC传输一次,配置DMA完成中断。在中断函数里再次开启一次ADC,采样。DMAC->CH0

DMAC->CH1只作了串口发送功能。DMAC->CH1、DMAC通道数只两个通道,确实少了些。

使用特权

评论回复
评论
martinhu 2020-9-21 10:07 回复TA
可以设置通用定时器定时触发ADC转换 
8
wqh317954897| | 2020-9-28 18:00 | 只看该作者
你好,请问一下你串口不定长数据搞定了吗? 我用华大460的片子,采用定时器timer0的超时来做的接收不定长数据。 现在有个问题不知道您有没有遇到过,dma的目的地址已经满了,我不知道怎么再次从数组的0开始接收或者发送。

使用特权

评论回复
9
martinhu| | 2020-9-28 19:56 | 只看该作者
本帖最后由 martinhu 于 2020-9-28 19:58 编辑

这里有L13x和F460的UART的空闲中断的例子,使用DMA作为UART的接收传送,ADT(Timer6)配合作为空闲中断
空闲中断的空闲时间通过设置Timer6(ADT)的周期实现
只有当接收完,超过时间,产生ADT(Timer6)中断,并计算Rx的buff大小,然后做发送回相同的数据。

hc32l13x_ddl_Rev1.9.1_uart_RxInt_IdleInt.zip (538.52 KB)

hc32f46x_ddl_UART_DMA_Idle interrupt.zip (2.05 MB)



使用特权

评论回复
评论
martinhu 2021-8-2 13:15 回复TA
@h32446975 :手册上说TXE和TX需要同时写1,例子的DMA用什么事件触发的,如果是TXE,可能先disable再使能,如果DMA用TCE触发,应该可以一直保持TX使能,每次发送时候使能TCE就可以了吧,没试过。 
h32446975 2021-7-31 10:50 回复TA
请帮忙解惑一下,启动新的DMA发送时,为什么要先禁止串口发送,串口发送空中断,再打开串口,串口发送空中断? USART_FuncCmd(USART_CH, UsartTx, Disable); USART_FuncCmd(USART_CH, UsartTxEmptyInt, Disable); USART_FuncCmd(USART_CH, UsartTxAndTxEmptyInt, Enable); 
10
ascut| | 2021-6-1 14:13 | 只看该作者
martinhu 发表于 2020-9-28 19:56
这里有L13x和F460的UART的空闲中断的例子,使用DMA作为UART的接收传送,ADT(Timer6)配合作为空闲中断
空 ...

要发帖才能下载吗

使用特权

评论回复
11
martinhu| | 2021-6-1 19:32 | 只看该作者
ascut 发表于 2021-6-1 14:13
要发帖才能下载吗

好像刚注册的不行,要升级一下

使用特权

评论回复
12
春光一乍| | 2021-6-17 15:31 | 只看该作者
kk...........................................

使用特权

评论回复
13
春光一乍| | 2021-6-17 15:32 | 只看该作者
martinhu 发表于 2020-9-28 19:56
这里有L13x和F460的UART的空闲中断的例子,使用DMA作为UART的接收传送,ADT(Timer6)配合作为空闲中断
空 ...

下载不了,怎么回事?

使用特权

评论回复
14
maxfall| | 2021-7-30 17:30 | 只看该作者
为啥我还下载不了呢

使用特权

评论回复
15
maxfall| | 2021-7-31 08:58 | 只看该作者
martinhu 发表于 2021-6-1 19:32
好像刚注册的不行,要升级一下

要升级到哪个等级才能下载

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

12

帖子

2

粉丝