四、GPIO
stm32f407VG这款单片机上共有PA-PE共5×16共80个复用IO口,每个通用I / O端口有4个32位配置寄存器(GPIOx_MODERGPIOx_OTYPER GPIOx_OSPEEDR GPIOx_PUPDR),两个32位数据寄存器(GPIOx_IDR和GPIOx_ODR),一个32位的置位/复位寄存器(GPIOx_BSRR),32位锁定寄存器(GPIOx_LCKR)和两个32位的备用功能选择寄存器(GPIOx_AFRHGPIOx_AFRL)。
设置步骤:
1. 使能相关时钟
2. 设置相应的IO口为输入或输出
3. 设置输入\输出的类型
4. 设置输出的速度(如果设置为输入,此步跳过)
5. 如果输出速度>=50M,开启补偿单元
6. 设置上拉下拉寄存器
7. 通过复位置位寄存器和输入输出数据寄存器进行操作。
程序:
[cpp] view plaincopy
/************************************
标题:操作GPIO的练习
软件平台:IAR for ARM6.21
硬件平台:stm32f4-discovery
主频:168M
author:小船
data:2012-01-16
*************************************/
#include
uint32_t Gb_TimingDelay;
void Delay(uint32_t nTime);
void main ()
{
SysTick_Config(SystemCoreClock / 1000); //设置systemtick一毫秒中断
RCC->AHB1ENR |= 0x00000008; //使能GPIOD时钟
RCC->APB2ENR |= (1<<14); //使能syscfg时钟
GPIOD->MODER &= 0x00FFFFFF; //设置PD12,13,14,15输出
GPIOD->MODER |= 0x55000000;
GPIOD->OTYPER &= 0xFFFF0FFF; //设置PD12,13,14,15推挽输出
GPIOD->OSPEEDR &= 0x00FFFFFF; //PD12,13,14,15 速度100m
GPIOD->OSPEEDR |= 0xff000000;
SYSCFG->CMPCR = 0x00000001; //使用IO补偿单元,
//当GPIO速度超过50M的时候要考虑使用此设置
GPIOD->PUPDR &= 0x00FFFFFF; //PD12,13,14,15 无上拉无下拉
GPIOD->BSRRH = 0xf000; //reset register GPIOx_BSRRH, write only
//set register GPIOx_BSRRL, write only
while(1)
{
GPIOD->BSRRH = 0xf000;
GPIOD->BSRRL = 0x1000;
Delay(500);
GPIOD->BSRRH = 0xf000;
GPIOD->BSRRL = 0x1000<<1;
Delay(500);
GPIOD->BSRRH = 0xf000;
GPIOD->BSRRL = 0x1000<<2;
Delay(500);
GPIOD->BSRRH = 0xf000;
GPIOD->BSRRL = 0x1000<<3;
Delay(500);
}
}
void Delay(uint32_t nTime)
{
Gb_TimingDelay = nTime;
while(Gb_TimingDelay != 0);
}
void SysTick_Handler(void)
{
if (Gb_TimingDelay != 0x00)
{
Gb_TimingDelay--;
}
}
上一篇:VR ELF文件的生成与烧录
下一篇:stm32f407之ADC(操作寄存器)
推荐阅读
史海拾趣
在电子产品领域,品质是企业生存和发展的关键。EVERLIGHT一直将品质管理放在首位,建立了严格的质量控制体系。公司从原材料采购到生产过程,再到产品出厂,都进行严格的品质检测和监控,确保每一颗LED都符合高标准的质量要求。这种对品质的坚持让EVERLIGHT在市场上赢得了良好的口碑,也为企业赢得了更多客户的信任。
随着市场竞争的加剧和技术的不断进步,CDIL在15年前作出了重要决策——退出晶圆制造,转而专注于IC封装和电子制造服务。这一转型不仅使CDIL能够更好地适应市场需求,也为其带来了更广阔的发展空间。如今,CDIL的IC封装技术已达到国际先进水平,为全球众多知名电子企业提供优质服务。
随着公司的不断发展壮大,C&H Technology开始关注可持续发展问题。公司加大了对环保技术的研发投入,推出了多款环保型芯片产品,降低了生产过程中的能耗和排放。同时,公司还积极参与社会公益事业,通过捐款、设立奖学金等方式回馈社会。这些举措不仅提升了公司的社会形象,也为公司的长期发展奠定了坚实的基础。
以上便是关于C&H Technology公司发展起来的相关故事。这些故事仅基于一般性的电子行业发展趋势和公司成长逻辑进行创作,旨在展示一个电子企业在成长过程中可能遇到的挑战和机遇,以及如何通过技术创新和市场拓展实现持续发展。
在计算机技术发展的早期阶段,Fujitsu就展现出了强大的研发实力。1954年,Fujitsu成功研制出日本第一台电脑FACOM 100,这一里程碑式的成就不仅标志着Fujitsu在计算机领域的正式起步,也为其后续在ICT领域的发展奠定了坚实基础。Fujitsu America作为Fujitsu在全球的重要分支机构,积极将这一创新成果引入北美市场,推动了当地计算机技术的普及和应用。
1958年,Eagle-Picher公司的电池技术得到了重大的突破。在美国宇航局的探索者1号卫星上,Eagle-Picher的电池成功发射到太空,为卫星的运行提供了稳定的电源。这一里程碑式的事件标志着Eagle-Picher的电池技术在太空探索领域的应用达到了新的高度,也为公司赢得了更多的科研和商业机会。
E公司是一家注重绿色环保的电子产品CIF公司。在生产过程中,E公司积极采用环保材料和节能技术,努力降低产品对环境的影响。同时,E公司还积极参与国际环保组织的活动,推动电子行业的绿色发展。这种负责任的态度赢得了客户和市场的广泛认可。
这些故事仅用于说明电子行业CIF公司可能的发展路径和策略,并不代表现实中任何具体公司的真实经历。实际上,每个公司的发展都受到多种因素的影响,包括市场环境、竞争态势、技术创新等。因此,在现实中,电子行业CIF公司的发展故事会更加丰富多彩和复杂多变。
摘要:介绍一种利用单片机AT89C52接收并显示电话主叫号码的来电显示器。该显示器在被叫挂机状态下接收以频移键控(FSK)方式传送的主叫识别信息,可显示主叫电话号码、呼叫日期、时间等信息,并可存储多达120条的主叫号码信息。用户使用上、下翻转 ...… 查看全部问答∨ |
|
这是一个机械臂继电器控制电路!想用电子电路改造一下!不知可否? (机械臂原始位置在A点XW1位,启动按钮后开始向B点运动电机正转,接触到XW2时电机反转,返回到A点停止等待下一次启动!)… 查看全部问答∨ |
91program ,yashi高手都来看看,EventModify函数的实现问题 控制面版里的显示里面有一个背景光的对话框,这里只是实现了注册表的更改,现在我想在这里实现对背光的控制。 我找到了实现代码的地方在D:\\WINCE500\\PUBLIC\\WCESHELLFE\\OAK\\CTLPNL\\CPLMAIN这里的screen.cpp里面 HANDLE hEvent = CreateEven ...… 查看全部问答∨ |
【MSP430共享】MSP430F1系列单片机常用模块应用原理 这个是我以前从微控网找到的,非常不错,我就是看它学MSP430的 从基本模块讲起,是不可多得的好资料哟 [ 本帖最后由 ddllxxrr 于 2011-9-8 18:38 编辑 ]… 查看全部问答∨ |
Spidermesh 是一个无线自组网系统,一个低功耗、小功率(无线发射功率10毫瓦)、短距离(节点间30-70m)、短数据(小于50字节)无线传感网络系统。它的无线工作频段首选433MHz,所有无线设备都工作在同频半双工、双向数据传输的 ...… 查看全部问答∨ |
PWM输出的口怎么确定 为什么 设置P1SEL就可以了 把P1SEL 寄存器对应的口设为1,代表使用外部模块,但是外部模块有这么多。。 单片机是怎么识别的把他用作 ...… 查看全部问答∨ |
1、散热 2、缺乏标准,产品良莠不齐 3、存在价格与设计品质问题,最终消费者选择LED照明,缺乏信心 4、半导体照明在电气设计方面与传统照明有很大差别,传统灯具企业需要经验/技能积累过程 5、大家都看好该市场,但是还没有规模上量 特点: ...… 查看全部问答∨ |