搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
天景科技苑
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
freenom免费域名的申请+cloudflare(域名代理解析)_freenom pending
2
2024全国安全生产合格证危险化学品经营单位主要负责人在线模拟_运输危险化学品的车、船和其它运输工具内允许搭乘无关人员。
3
Qt 实现悬浮窗效果(附完整源码)_qt 悬浮窗
4
python表白程序代码完整版,python表白代码大全爱心_python表达爱意的代码
5
数据驱动的方法: 从线性回归到神经网络
6
看看黑客如何使用搜索引擎_黑客搜索引擎
7
ZIP技巧:如何解压Zip分卷压缩文件
8
已解决FileNotFoundError: [Errno 2] No such file or directory: ‘配置信息.csv‘
9
多模态大模型:技术原理与实战 智能客服_智能客服 大模型训练
10
Kotlin & Compose Multiplatform 跨平台(Android端、桌面端)开发实践之使用 SQLDelight 将数据储存至数据库_kotlin compose multiplatform
当前位置:
article
> 正文
DMAの数据传输_mega dma触发源
作者:天景科技苑 | 2024-08-13 22:03:51
赞
踩
mega dma触发源
//这里采用定时器溢出中断作为触发源。每次溢出发送一个字节。
#include "../dma_driver.h"
#include "../avr_compiler.h"
//board.h中定义了按键Switch和LED灯所连接的IO端口。这个头文件是专门为Xmega A1 Xplained而配置的。
#include "../board.h"
#define SAMPLE_COUNT 9 //LED状态的数目。
uint8_t samples[SAMPLE_COUNT]={
0xff>>0,
0xff>>1,
0xff>>2,
0xff>>3,
0xff>>4,
0xff>>5,
0xff>>6,
0xff>>7,
0xff>>8
};
//DMA通道会被定时器溢出中断标志所触发,并会连续地触发只要溢出中断标志被置位。
//每次发生溢出时我们只执行一次数据传输。因此,我们需要使能溢出中断,并且当中断服务程序执行时会自动清除溢出中断标志。
ISR(TCC0_OVF_vect)//仅用于清除溢出中断标志位
{
nop();
}
//设置channel的参数以写LED的值。源地址会重新装载当数据块传输完成。
//使能Single-shot,使得每次溢出都传输一个字节的数据。
void SetupWriteChannel( DMA_CH_t * dmaChannel )
{
DMA_SetupBlock(
dmaChannel,
samples,
DMA_CH_SRCRELOAD_BLOCK_gc,
DMA_CH_SRCDIR_INC_gc,
(void *) &(LEDPORT.OUT),
DMA_CH_DESTRELOAD_NONE_gc,
DMA_CH_DESTDIR_FIXED_gc,
SAMPLE_COUNT,
DMA_CH_BURSTLEN_1BYTE_gc,
0,
false//不重复传输
);
DMA_EnableSingleShot( dmaChannel );
DMA_SetTriggerSource( dmaChannel, DMA_CH_TRIGSRC_TCC0_OVF_gc ); // TCC0 溢出作为触发源。
}
//设置定时器以特定的采样频率产生溢出中断。2MHz / 2^16
void SetupSampleTimer( void )
{
TCC0.CTRLA = TC_CLKSEL_DIV1_gc;
TCC0.PER = 0xffff;
TCC0.INTCTRLA = TC_OVFINTLVL_LO_gc;
PMIC.CTRL |= PMIC_LOLVLEN_bm;
}
//显示用途
void BlinkLEDs( void )
{
LEDPORT.OUT = 0x00;
delay_us( 1000000 ); // 等待一秒
LEDPORT.OUT = 0xff;
}
int main( void )
{
// 用于些数据到LED的DMA channel
DMA_CH_t * WriteChannel = &DMA.CH1;
// 设置为上拉输入。
PORTCFG.MPCMASK = SWITCHPORTL_MASK_gc;
SWITCHPORTL.PIN0CTRL = PORT_OPC_PULLUP_gc;
SWITCHPORTL.DIR = ~SWITCHPORTL_MASK_gc;//输入
LEDPORT.DIR = 0xff;//输出
DMA_Enable();//使能DMA
SetupWriteChannel(WriteChannel);
SetupSampleTimer();
sei(); // 使能全局中断
while(1)
{
//不断地把数据写到LED上,直到写完数据。
DMA_EnableChannel( WriteChannel );
do {} while ((SWITCHPORTL.IN | PIN6_bm | PIN7_bm) == 0xff);
DMA_DisableChannel( WriteChannel );
//重新启动写通道。
SetupWriteChannel(WriteChannel);
}
}
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/天景科技苑/article/detail/976675
推荐阅读
article
zkui
安装
、
部署,用于管理
zookeeper
集群
_
zkud
...
环境:centos7
、
zkui
2.0一
、
拉取
zkui
项目 1.升级安装gityum -y install git 2.拉...
赞
踩
article
七、规则
组织
的
衍生
组织
——
菱形
斜纹
组织
数学模型
的
建立
_
菱形
斜纹
组织
图...
本文介绍了
菱形
斜纹
组织
的
数学模型
建立过程,通过kw和kj参数将其分为四部分,并详细阐述了如何求解第一部分、第二部分以及利...
赞
踩
article
IDEA
如何克隆
GitHub
上的
项目
_
idea
clone
git
项目
...
通过在IDE中选择File菜单,然后依次点击New和ProjectfromVersionControl,可以启动
项目
克隆...
赞
踩
article
报找
不到
servlet
或者
jakarta
包...
之前程序一直
报找
不到
jakarta
包,也就是Tomcat下的原来的
servlet
,现在改名了,我已经确定确实导入了该ja...
赞
踩
article
c
mysql
查询
超时设置_
MySQL
查询
超时的设置方法...
欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入 这里顺带解释一下什么是non-intera
c
tive ...
赞
踩
article
.
npmrc
文件
是
什么?用来
干嘛
的
?_
npmrc
文件
是
干嘛
的
...
用于配置 npm(Node Package Manager)
的
行为和设置。它可以存在于不同
的
层级,包括全局配置、本地项目...
赞
踩
article
部署
vue
项目
开发
环境
_
vue
项目
部署
了但是提示是
开发
环境
...
在nodejs安装路径下,新建node_global和node_cache两个文件夹。“此电脑”右击点击“属性”找到“高...
赞
踩
article
MapReduce
常见
错误
及
解决方案
_
mapreduce
编程
运行
出现
问题...
常见
错误
及
解决方案
1)导包容易出错。尤其Text和CombineTextInputFormat。2)Mapper中第一个...
赞
踩
article
error
:
0308010C
:
digital
envelop
e
routines
::unsuppor...
【代码】
error
:
0308010C
:
digital
envelop
e
routines
::unsupported。_a...
赞
踩
article
centos7
服务器
升级
harbor
-
2.0
.6至
2.7
.0_
harbor
版本
...
harbor
升级
_
harbor
版本
harbor
版本
...
赞
踩
article
利用
ESP32
-
C3
将
TF
卡内容变成U
盘
进行读取_
esp32
u
盘
...
通过以上步骤,你可以轻松实现用
ESP32
-
C3
将
TF
卡内容变成U
盘
进行读取。这种功能在数据采集、便携式存储设备等应用中非...
赞
踩
article
一文读懂
栅
极
驱动
_
栅
极
驱动
器的
栅
极
和源
极
...
『功率 MOSFET 是一种电压控制型器件,可用作电源电路、电机
驱动
器和其他系统中的开关元件。
栅
极
是每个器件的电气隔离控...
赞
踩
article
Web
Scraper
翻页——
抓取
「
滚动
加载」类型网页(
Web
Scraper
高级用法)| 简易...
这是简易
数据分析
系列的第
10
篇文章。友情提示:这一篇文章的内容较多,信息量比较大,希望大家学习的时候多看几遍。我们在...
赞
踩
article
Failed to
obtain
JDBC Connection;
nested
exception
...
jdbc
连接报错_failed to
obtain
jdbc
connection;
nested
exception
...
赞
踩
article
ZooKeeper
(
3
)-
内部
原理...
一. 节点类型二. Stat结构体1)czxid-创建节点的事务zxid每次修改
ZooKeeper
状态都会收到一个zxi...
赞
踩
article
4A
(
统一
安全
管控
平台
)解析_4a
系统
...
4A
是指帐号(Account)、认证(Authentication)、授权(Authorization)和审计(Audi...
赞
踩
article
一个
完全免费
,无广告的
AI
知识
宝库:让人
爱不释手
的一站式
AI
学习
教程_
waytoagi
...
这个工具提供了精选的
AI
提示词,以及写提示词教程,强烈建议阅读精选的提示词,刚开始可以模仿它们,自己也能写出好的提示词。...
赞
踩
article
Spark
解决
数据
倾斜
的
几种方式_对于
spark
中
的
数据
倾斜
问题有什么好
的
方案...
1、使用Hive ETL处理
数据
相当于将
数据
倾斜
提前到Hive中,Hive
的
底层是MapReduce,运行稳定,不容易失...
赞
踩
article
Spark
MLlib
简单介绍...
1.机器学习介绍 机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、...
赞
踩
article
使用
二分
法
查找
有
序
数组
中
指定的元素_
二分
查找
有
序
列表指定值...
本文介绍了如何使用
二分
法在
有
序
数组
中
查找
指定元素。通过两种方法阐述
二分
查找
的原理:一种是基于while循环的实现,适用于...
赞
踩
相关标签
CAD
java
servlet
c mysql 查询超时设置
node.js
npm
yarn
前端
vue.js
javascript
服务器
docker
运维
嵌入式硬件
单片机
分享
技术
笔记
经验分享
栅极驱动器
驱动开发
mysql
数据库