--------------拿到一个工程模板,首先要编译,编译成功之后再删除main()内容,这样编译不会出错。-----------------
**
程序步骤
**
配置时钟使能寄存器
RCC AHB1ENR寄存器 用来时钟使能,然后 跑马灯IO口是PF9,PF10 ,GPIOF在RCC AHB1ENR 中是第五位, 给它写入1,其他位保持不变,所以要进行 “或运算”
RCC->AHB1ENR|= 1<<5;//把这个寄存器的第五位设置为1
配置PF9
MODER寄存器
F0是 0,1位 F1是2,3位,,,所以 F9 是18,19位, 给该位写入 01输出模式
a,首先要把这两位清零,在与01进行“或运算” (ps 不清零要写入01有些麻烦)
b,清零:比如把 11 10 10 11 -------->11 10 01 11,,,要把第二位(最右边为最低位) 10 清零 需要
11 10 10 11 & 11 11 00 11 (这里有个技巧,可以这样想 将与上的这个数变为
00 00 11 00 再取反)11 10 10 11 & (~(00 00 11 00))
而00 00 11 00 可以写成( 3<<2)因为11是3, 原来是这个数00 00 00 11,将11左移两位,就变成了 00 00 11 00.
c, 清零后 就变成了 11 10 00 11,再进行或运算给第二位 写入 01 ,把1<<2.
OSPEEDR寄存器
PUPDR
OTYPER寄存器
每一位配置一个IO,0 推挽 0<<9(推挽 可以输出 01电平,开漏只能输出0电平)
ODR寄存器给高电平 写入1(或运算),给低电平写入0(与运算)
GPIOF->ODR|= 1<<9;//1 高电平
GPIOF->ODR&=~(1<<9);//0 低电平
//PF9
GPIOF->MODER &= ~(3<<2*9);//设置第九个IO口,每一个IO操作两个位,3是11,清零
GPIOF->MODER |= 1<<(2*9);//1是01 ,写入01 输出模式
GPIOF->OSPEEDR &= ~(3<<2*9);
GPIOF->OSPEEDR |= 2<<(2*9); //写入 10 配置50MHz
GPIOF->PUPDR &= ~(3<<2*9);
GPIOF->PUPDR |=1<<(2*9);//上拉
GPIOF->OTYPER &= ~(1<<9);
GPIOF->OTYPER |=0<<9;//推挽
GPIOF->ODR|= 1<<9;//1 高电平
//PF10-
GPIOF->MODER &= ~(3<<2*10);
GPIOF->MODER |= 1<<(2*10);
GPIOF->OSPEEDR &= ~(3<<2*10);
GPIOF->OSPEEDR |= 2<<(2*10);
GPIOF->PUPDR &= ~(3<<2*10);
GPIOF->PUPDR |=1<<(2*10);
GPIOF->OTYPER &= ~(1<<10);
GPIOF->OTYPER |=0<<10;
GPIOF->ODR|= 1<<10;
#include "stm32f4xx.h"
#include "led.h"
#include "delay.h"
int main(void)
{
delay_init(168);
LED_Init();
while(1){
GPIOF->ODR&=~(1<<9);
GPIOF->ODR&=~(1<<10);
delay_ms(500);
GPIOF->ODR |= 1<<9;
GPIOF->ODR |=1<<10;
delay_ms(500);
}
}
上一篇:常用的推挽输出、开漏输出、上拉输入
下一篇:第一个跑马灯实验
推荐阅读
史海拾趣
90年代初期,“General Microcircuits”敏锐地捕捉到市场对定制化半导体解决方案的需求增长。公司迅速调整战略,成立专门的定制化服务部门,为客户提供从需求分析、设计开发到生产测试的全流程定制化服务。这种以客户为中心的服务模式赢得了众多客户的青睐,尤其是在通信、汽车电子等高端应用领域,公司凭借定制化的高性能芯片解决方案占据了重要的市场份额。
为了进一步提升国际竞争力,Connection One公司开始实施全球化战略布局。公司在全球范围内设立研发中心和销售网络,以便更好地了解当地市场需求并提供定制化产品。这一举措不仅加速了公司的国际化进程,还为其带来了更多的商业机会。
为了进一步扩大市场份额,AnalogicTech积极寻求与全球范围内的合作伙伴建立战略合作关系。公司通过参加国际电子展会、建立海外销售网络等方式,成功将产品推向全球市场。同时,AnalogicTech还加大了对亚洲市场的投入,在香港等地设立了分支机构,进一步提升了公司在全球市场的竞争力。
在过去,国内企业在车载信号传输领域的共模电感选择有限,主要依赖进口品牌。岑科意识到这一市场的巨大空缺后,决定借助自主研发设备的优势进行研发工作。经过两三年的攻关,岑科成功研发出了ACML系列共模电感。这一系列产品在温度特性上表现优异,可在-40℃到150℃的范围内正常工作,并适用于CAN-BUS、CAN-FD、A2B及以太网等多种场景。岑科的这一研发成果不仅填补了国内市场空白,还实现了国产替代,为汽车电子行业的发展做出了重要贡献。
http://www.esacademy.com/automation/docs/c51primer/c51prim.htmC51 Primerby Mike Beach, Hitex (UK) Ltd.HTML version by Steffen Duffner, Irena & Olaf Pfeiffer Last modified on 03/03/96.Click here for the Table of ContentsAbout T ...… 查看全部问答∨ |
汽车的实际使用情况非常复杂,如起步、怠速停车、低速或高速行驶、加速、减速、爬坡和倒车等,这就要求汽车的驱动力和车速能在相当大的范围内变化,而目前广泛采用的活塞式发动机的输出转矩和转速变化范围较小。为了适应经常变化的行驶条件,同时使 ...… 查看全部问答∨ |
这段时间成功的开发了中星微301H摄像头的wince驱动和视频采集程序。详见http://blog.eeworld.net/wincemobile… 查看全部问答∨ |
|
The interrupt controller supports 60 interrupt sources as shown in the table below. INT_ADC INT_RTC INT_SPI1 INT_UART0 INT_IIC INT_USBH INT_USBD INT_NFCON INT_UART1 INT_SPI0 INT_SDI INT_DMA3 INT_DMA2 INT ...… 查看全部问答∨ |
我用PC机串口连接GR47模块,在minicom中用at命令,at+csq,总显示+CSQ=0,99,我换了好几个地方总是显示没信号,请问是SIM卡的原因还是模块的原因呢?… 查看全部问答∨ |
为什么在EVC4中调用VerQueryValue来获取文件版本信息时,只能获取到一位? 我在EVC4.0中调用VerQueryValue来获取当前文件的版本等信息时,系统能返回文件版本,但是不全呀? char RootBlock[2048]; LPVOID *translation; unsign ...… 查看全部问答∨ |