MSP432E401Y学习笔记day2

发布者:daits摸鱼的最新更新时间:2022-08-01 来源: csdn关键字:MSP432E401Y  定时器  初始化 手机看文章 扫描二维码
随时随地手机看文章

MSP432E401Y定时器初始化

    /* 使能定时器0的时钟并且设置频率为1KHz,使能ADC触发方式为定时器0 */

    MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER0);

    while(!(MAP_SysCtlPeripheralReady(SYSCTL_PERIPH_TIMER0)))

    {

    }

 

    MAP_TimerConfigure(TIMER0_BASE, TIMER_CFG_A_PERIODIC);

    MAP_TimerLoadSet(TIMER0_BASE, TIMER_A, (systemClock/SAMP_FREQ));

    MAP_TimerADCEventSet(TIMER0_BASE, TIMER_ADC_TIMEOUT_A);

    MAP_TimerControlTrigger(TIMER0_BASE, TIMER_A, true);

    MAP_TimerEnable(TIMER0_BASE, TIMER_A);

这里的SAMP_FREQ是采样频率,此处为1KHz;systemClock为时钟主频。


以上的部分和昨天的结合就是整个的MSP432E401Y关于AD部分的初始化。


ADC的几种触发方式

MSP432E401Y中的AD一共有以下几种触发方式


#define ADC_TRIGGER_PROCESSOR   0x00000000  // Processor event

#define ADC_TRIGGER_COMP0       0x00000001  // Analog comparator 0 event

#define ADC_TRIGGER_COMP1       0x00000002  // Analog comparator 1 event

#define ADC_TRIGGER_COMP2       0x00000003  // Analog comparator 2 event

#define ADC_TRIGGER_EXTERNAL    0x00000004  // External event

#define ADC_TRIGGER_TIMER       0x00000005  // Timer event

#define ADC_TRIGGER_PWM0        0x00000006  // PWM0 event

#define ADC_TRIGGER_PWM1        0x00000007  // PWM1 event

#define ADC_TRIGGER_PWM2        0x00000008  // PWM2 event

#define ADC_TRIGGER_PWM3        0x00000009  // PWM3 event

#define ADC_TRIGGER_NEVER       0x0000000E  // Never Trigger

#define ADC_TRIGGER_ALWAYS      0x0000000F  // Always event

将其中的参数使用MAP_ADCSequenceConfigure这个函数设置AD的触发方式,这里主要应用的是ADC_TRIGGER_TIMER,也就是定时器中断,至于如果用ADC_TRIGGER_ALWAYS做触发方式能不能提高AD采样速度我准备进一步去研究研究。


DMA的几种使用模式

MSP432E401Y中的AD一共有以下几种使用模式


#define UDMA_MODE_STOP                  0x00000000

#define UDMA_MODE_BASIC                 0x00000001

#define UDMA_MODE_AUTO                  0x00000002

#define UDMA_MODE_PINGPONG              0x00000003

#define UDMA_MODE_MEM_SCATTER_GATHER    0x00000004

#define UDMA_MODE_PER_SCATTER_GATHER    0x00000006

#define UDMA_MODE_ALT_SELECT            0x00000001

 这里的设置库函数为MAP_uDMAChannelTransferSet,主要使用的是BASIC和PINGPONG。


关键字:MSP432E401Y  定时器  初始化 引用地址:MSP432E401Y学习笔记day2

上一篇:MSP432E401Y学习笔记day1
下一篇:MSP432 FPU与DSP测试

推荐阅读最新更新时间:2024-11-12 14:13

如何利用定时器产生PWM波
摘要:利用定时器产生PWM波。然后利用32的外部中断和定时器来测量32输出的波形硬件:STM32F103C8T6核心板、示波器、串口调试助手所用到的的引脚为PA8和PA0。 测量方案:在第一次外部中断(上升沿触发)到之时,开启定时器,同时计数器清零。然后等待第二次中断到来,在第二次外部中断(上升沿触发)到之时,获取计数器的计数值,同时关闭计数器。因为知道了计数器计数一个数的时间,所以在第二次外部中断(上升沿触发)到之时,获取计数器的计数值,通过这个值就知道一个脉冲的时间周期。时间周期的倒数就是外部信号的频率。 一、利用TIM1的CH1产生PWM波 pwm.c #include pwm.h voidTIM1_PWM_Init
[单片机]
如何利用<font color='red'>定时器</font>产生PWM波
定时器 T3定(8 位)通过中断方式控制 LED
CC2530的T3定时器(8位)需要了解T3CTL,T3CCTL0,T3CC0,T3CCTL1,T3CC寄存器.定时器3/4是8位定时器,具有定时器/计数器/PWM功能。 定时器2又称 MAC定时器,是专门为支持IEEE 802.15.4 MAC 中的事件跟踪协议而特别设计的。该定时器具有一个可以用来记录已经发生的周期数的8位溢出计数器;有一个16位捕获寄存器,用来记录一个帧开始定界符接收/发送的精确时间或者传输完成的精确时间;还含有一个16位输出比较寄存器,用来在特定时间对无线模块产生各种命令选通信号(开始接受,开始发送等)。关于定时器2,想了解的话可以参看有关资料。 有没有发现只要寄存器配置对了剩下的就没什么问题了。 T3C
[单片机]
MSP430F249_TimerA定时器
/****************************************************************** ** ** File : TimerA.c | Timer Interrupt | ** Version : 1.0 ** Description : TimerA Interrupt ** Author : LightWu ** Date : 2013-4-16
[单片机]
MSP430定时器的使用
#include msp430f149.h #define uint unsigned int void delay(int x) { int i,j; for(i=x;i 0;i--) for(j=112;j 0;j--); } int main( void ) { // uint a; P2DIR = 0XFF; WDTCTL = WDTPW + WDTHOLD; /* BCSCTL1 &= ~XT2OFF; do { IFG1 &= ~OFIFG; for(a=0xff;a 0;a--); } while(IFG1 & OFIFG); BCSCTL2 |= SELM_2 + DIV
[单片机]
pic timer1定时器
功能;通过Timer1延时实现led灯的循环闪烁 要求:MPLAB 8.2以上,MEO工程板一块,PIC16-MCD2 仿真下载, 芯片配置字,看门狗关,上电延时开,掉电检测关,低压编程关,4MXT模式振荡 */ #include pic18.h int main() { TRISC = 0x00; //c端口定义为 输出 PORTC = 0x00; //全部熄灭 TMR1CS = 1; //T1CON 1 将timer1配置位定时器 T1CON = 0xb0; //1011 0000 配置位一次16位对Timer1寄存器进行读写 1:8预分频 TMR1 = 0; //TMR1赋初值 定时器
[单片机]
注意:STM32库函数中未用到的参数也一定要初始化
注意使用STM32库函数时,对于不用的参数,一定要初始化,否则有可能影响到有用的位! 比如我在配置ADC时,精度配置为12位,但输出的一直是8位的,最后发现由于没有初始化ADC_InitStruct.ADC_ExternalTrigConv这个值,这个值是不确定的。库函数中做如下计算 tmpreg |= (uint32_t)(ADC_InitStruct- ADC_Resolution | ((uint32_t)(ADC_InitStruct- ADC_ContinuousConvMode) 13) | ADC_InitStruct- ADC_ExternalTrigConvEdge | ADC_InitS
[单片机]
STM32学习笔记一一定时器中断
1.STM32 通用定时器简介 STM32 的通用定时器是一个通过可编程预分频器( PSC)驱动的 16 位自动装载计数器( CNT)构成。使用定时器预分频器和 RCC 时钟控制器预分频器,脉冲长度和波形周期可以在几个微秒到几个毫秒间调整。 STM32 的每个通用定时器都是完全独立的,没有互相共享的任何资源。 TIMER主要是由三部分组成: 时基单元; 输入捕获;输出比较。 2.ST32 的通用定时器功能 通用定时器有TIMx (TIM2、 TIM3、 TIM4 和 TIM5),具体功能如下: 1)16 位向上、向下、向上/向下自动装载计数器( TIMx_CNT); 2)16 位可编程(可以实时修改)预分频
[单片机]
STM32学习笔记一一<font color='red'>定时器</font>中断
labview中的的几种定时器
LABVIEW提供了几种定时器(包括DELAY),如下图所示 首先看看Tick Count 节点的帮助说明: 返回毫秒定时器的值. 基准参考时间(0 毫秒)未定义,也就是说,不能把返回的毫秒数直接转换成现实世界的时间和日期.必须注意当你使用这个函数进行比较的时候,毫秒定时器达到2^32-1后反转成0. 基准参考时间未定义,说法比较模糊,难道会是个随机数,那显然不可能,如果是随机数,那两次调用 TI CK COUNT取得差值就不可能表示经过的毫秒数.无论如何,必须有个时间的起点. API函数中也有一个类似的函数:GetTickCount,该函数返回计算机启动以来经过的毫秒数.在9X中,它读取的是BIOS中保存的系统时钟
[测试测量]
labview中的的几种<font color='red'>定时器</font>
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved