gpxclear寄存器写0和写1_DSP实验学习一

本文详细介绍了在DSP实验中,如何控制GPIO的GPXMUX、GPXDIR、GPXSET、GPXCLEAR、GPXTOGGLE和GPXDAT寄存器,以及外部中断的配置和ADC实验的步骤,包括中断选择限制寄存器、控制限制寄存器和中断选择寄存器的设置。实验涵盖了GPIO的配置、外部中断的触发以及ADC的采样和转换控制,为深入理解DSP的外设交互提供了实践基础。
摘要由CSDN通过智能技术生成

DSP

标签:笔记

文章目录

DSP

实验一:GPIO控制

1、GPXMUX1/2(功能选择寄存器)

2、GPXDIR(方向控制寄存器)

3、GPXSET(置位寄存器)

4、GPXCLEAR(强制拉低寄存器)

5、GPXTOGGLE(输出状态翻转寄存器)

5、GPXDAT(数据寄存器)

实验二:外部中断控制

代码

GPXQSELn(GPIO选择限制寄存器)

GPXCTRL(GPIO控制限制寄存器)

GPIOXINTnSEL(GPIO中断选择寄存器)

XINTnCR

实验三:ADC实验

代码

HISPCP(高速标记预分频器)

ADCTRL1(ADC控制寄存器1)

ADCTRL2(ADC控制寄存器2)

ADCTRL13(ADC控制寄存器3)

ADCCHSELSEQn()

ADCMAXCONV()

ADCST()

实验一:GPIO控制

1、GPXMUX1/2(功能选择寄存器)

GPXMUXn图片

每组IO一般有32个IO口可以配置,GPXMUX1对应X组低16位IO口,GPXMUX2对应X组高个IO口。

MUX

功能

00

普通IO口

01

第一种外设功能

10

第二种外设功能(若有第二种外设功能)

11

第三种外设功能(若有第三种外设功能)

2、GPXDIR(方向控制寄存器)

GPXDIR图片

GPXDIR

功能

0

配置GPIO引脚为输入(默认配置)

1

配置GPIO引脚为输出

3、GPXSET(置位寄存器)

GPXSET

GPXSET

功能

0

无影响

1

若置GPIO引脚为输出,写1配置GPIO引脚为高电平

4、GPXCLEAR(强制拉低寄存器)

GPXCLEAR

GPXCLEAR

功能

0

无影响

1

若置GPIO引脚为输出,写1配置GPIO引脚为低电平

5、GPXTOGGLE(输出状态翻转寄存器)

GPXTOGGLE

GPXTOGGLE

功能

0

配置GPIO引脚为输入(默认配置)

1

若置GPIO引脚为输出,写1配置GPIO引脚进行翻转

5、GPXDAT(数据寄存器)

GPXDAT

GPXDAT

功能

0

写0:强制为0(状态必须配置GPIO为输出)

1

写1:强制为1(状态必须配置GPIO为输出)

实验二:外部中断控制

代码

#include"DSP28x_Project.h"

//蜂鸣器为GPIO53,利用外部中断控制蜂鸣器响和停止

//1、利用外部中断1或2控制(GPIOA)

//2、利用外部中断3-7控制(GPIOB)

interrupt void xint1_isr(void);//声明中断函数

void initgpio(void);//声明gpio函数

volatile Uint32 xint1count;//定义中断计数变量

/*volatile一般说来volatile关键字是一种类型修饰符,

* 用它声明的类型变量表示可以被某些编译器未知的因素更改,

* 比如:操作系统、硬件或者其它线程等。遇到这个关键字声明的变量,

* 编译器对访问该变量的代码就不再进行优化,从而可以提供对特殊地

* 址的稳定访问。,volatile用在如下的几个地方:

<
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SPI控制寄存器1(SPI_CR1)、SPI控制寄存器2(SPI_CR2)、SPI状态寄存器(SPI_SR)、SPI数据寄存器(SPI_DR)和SPI_I2S配置寄存器(SPI_I2S_CFGR)是SPI(串行外设接口)通信中使用的寄存器。 1. SPI控制寄存器1(SPI_CR1)用于配置SPI的工作模式、数据位数、传输顺序等参数[^1]。例如,可以使用以下代码配置SPI_CR1寄存器: ```c SPI1->CR1 |= SPI_CR1_SPE; // 使能SPI SPI1->CR1 |= SPI_CR1_MSTR; // 主模式 SPI1->CR1 |= SPI_CR1_BR_2 | SPI_CR1_BR_1; // 设置波特率分频为 fPCLK/32 ``` 2. SPI控制寄存器2(SPI_CR2)用于配置SPI的数据传输长度、NSS信号管理等参数[^1]。例如,可以使用以下代码配置SPI_CR2寄存器: ```c SPI1->CR2 |= SPI_CR2_DS_2 | SPI_CR2_DS_1 | SPI_CR2_DS_0; // 设置数据传输长度为 8 位 SPI1->CR2 |= SPI_CR2_SSOE; // 使能NSS输出 ``` 3. SPI状态寄存器(SPI_SR)用于读取SPI的状态信息,例如判断数据是否发送完成、接收缓冲区是否为空等[^1]。例如,可以使用以下代码读取SPI_SR寄存器: ```c if (SPI1->SR & SPI_SR_TXE) // 判断发送缓冲区是否为空 { // 执行发送操作 } ``` 4. SPI数据寄存器(SPI_DR)用于读取和入SPI的数据[^1]。例如,可以使用以下代码读取和入SPI_DR寄存器: ```c uint8_t data = SPI1->DR; // 读取接收到的数据 SPI1->DR = data; // 发送数据 ``` 5. SPI_I2S配置寄存器(SPI_I2S_CFGR)用于配置SPI的I2S(音频接口)模式相关参数,例如选择主从模式、设置数据格式等[^1]。例如,可以使用以下代码配置SPI_I2S_CFGR寄存器: ```c SPI1->I2SCFGR |= SPI_I2SCFGR_I2SMOD; // 使能I2S模式 SPI1->I2SCFGR |= SPI_I2SCFGR_I2SSTD_0; // 设置数据格式为标准I2S ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值