历史上的今天
今天是:2025年04月22日(星期二)
2020年04月22日 | STM32固件库实现led亮灭闪烁和音频发生器设计
2020-04-22 来源:eefocus
概述
本文使用STM32F10X,软件为Keil uVision5,仿真软件Proteus 8 Professional
电路图

8个led亮灭实现代码
实现代码
//8¸öledÈ«ÁÁÈ«Ãð
#include "stm32f10x.h"
int main()
{
GPIO_InitTypeDef star;
//配置开启GPIO时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
//设置GPIO输出模式
//stm32F1提供了4种输出模式(推挽输出、开漏输出 、复用推挽输出 、复用开漏输出)和3种输出速度;一般配置LED采用推挽输出;
star.GPIO_Pin =GPIO_Pin_All;
star.GPIO_Speed =GPIO_Speed_50MHz;设置IO速率
star.GPIO_Mode =GPIO_Mode_Out_PP;//设置推挽输出模式
//初始化
GPIO_SetBits(GPIOB,GPIO_Pin_All);
GPIO_Init(GPIOB,&star);
//第一种方法
GPIO_Write(GPIOB,0xff00);
//第二种方法
while(1)
{
// GPIO_ResetBits(GPIOB,GPIO_Pin_8);
// GPIO_ResetBits(GPIOB,GPIO_Pin_9);
// GPIO_ResetBits(GPIOB,GPIO_Pin_10);
// GPIO_ResetBits(GPIOB,GPIO_Pin_11);
// GPIO_ResetBits(GPIOB,GPIO_Pin_12);
// GPIO_ResetBits(GPIOB,GPIO_Pin_13);
// GPIO_ResetBits(GPIOB,GPIO_Pin_14);
// GPIO_ResetBits(GPIOB,GPIO_Pin_15);
//
}
}
8个led闪烁实现代码
实现代码
#include"stm32f10x.h"
void Delay(unsigned int count)
{
unsigned int i;
for(;count!=0;count--)
{
i=5000;
while(i--);
}
}
int main()
{
GPIO_InitTypeDef strs;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
strs.GPIO_Pin = GPIO_Pin_All;
strs.GPIO_Speed = GPIO_Speed_50MHz;
strs.GPIO_Mode=GPIO_Mode_Out_PP;
GPIO_Init(GPIOB,&strs);
while(1)
{
GPIO_ResetBits(GPIOB, GPIO_Pin_All);
Delay(100);
GPIO_SetBits(GPIOB,GPIO_Pin_All);
Delay(100);
}
}
音频发生器
电路图

实现代码
#include "stm32f10x.h"
void Delay(unsigned int count) //ÑÓʱº¯Êý
{
unsigned int i;
for(;count!=0;count--)
{
i=5000;
while(i--);
}
}
int main(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE); //使能GIPOC时钟
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5; //PC5引脚配置
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //配置PC5为推免输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //GPIOB速度为50MHz
GPIO_Init(GPIOC, &GPIO_InitStructure); //初始化PC5
GPIO_SetBits(GPIOC,GPIO_Pin_5); //PC5输出高电平,LED熄灭
while(1)
{
GPIO_ResetBits(GPIOC,GPIO_Pin_5); //PC5输出低电平
Delay(10); //延迟,保持低电平一段时间
GPIO_SetBits(GPIOC,GPIO_Pin_5); //PC5输出高电平
Delay(10); //延迟,保持高电平一段时间
}
}
学习笔记
输入:上拉输入,下拉输入,浮空输入,模拟输入
输出:通用推挽输出,通用开漏输出,复用推挽输出,复用开漏输出
首先开启GPIO时钟,然后设置GPIO输出模式为推挽输出,接着初始化led
GPIO_ResetBits(GPIOC,GPIO_Pin_0);//PAO=0 ,输出低电平
GPIO_SetBits(GPIOC,GPIO_Pin_0);//PAO=1,输出高电平
史海拾趣
|
http://66.249.89.132/translate_c?hl=zh-CN&sl=en&u=http://www.robotroom.com/Jet.html&prev=/search%3Fq%3DC51%2Bcompiler%26hl%3Dzh-CN%26client%3Daff-cs-360se%26hs%3Dbtg%26sa%3DN%26start%3D50%26newwindow%3D1&usg=ALkJrhhLTO9Bj7aM9-ySHE ...… 查看全部问答> |
|
版主,能发给我一份,28015可以用的 chip support package(csp)吗? 版主,能发给我一份,28015可以用的 chip support package(csp)吗?网上一直找不到这个东东,可以麻烦版主,或者哪位朋友有发给我一份吗? z_s_rong@126.com 谢谢。… 查看全部问答> |
|
faceb4: 我在做msp430驱动sed1335来显示320*240的液晶显示屏,程序怎么都不行,希望那位大侠能够给一些程序(包括初始化),谢谢了!!! … 查看全部问答> |
|
喇叭保护IC HA12002 的过载保护(第六脚)如何接入(需多少电压),第5脚(交流检测)参数如何设定,可否直接短路?谢谢大侠们细心指导!!!(从报废的功放中得到了一块喇叭保护板,想用在自己DIY的功放中)… 查看全部问答> |
|
卖掉...友善之臂mini2440开发板3.5寸LCD触摸屏S3C24...有木有人想要... [img]file:///C:/Users/吴斌/Documents/Tencent%20Files/874901774/Image/d[$%7B6@z@6duwe33y%25l9~%250z.jpg[/img] file:///C:/Users/吴斌/Documents/Tencent%20Files/8749 ...… 查看全部问答> |
|
最近一直想给EE_FPGA做个集成化的测试程序,思来想去还是nios开发简单点,尼玛,悲剧的事情发生了。。 我做了一遍一遍,就是不对,怎么都下载不到sdram里面去。真的是黔驴技穷了啊。。 我开始怀疑编译器了,我换成了nios 11.0 ;NND,就神奇的好 ...… 查看全部问答> |
|
launch pad USB串口驱动在win8 64bit 跑串口不稳定 环境1. 硬件 430 launchpad with touch board2. 下载了touch board的软件包slac490,安装里面的usb驱动LaunchPad_Driver3. CCS5.5.0 4. win8 64bit现象1. CCS可以连接并debug2. 硬件管理器里面可以看到USB映射com3. 将launch pad 串口收发短接(去 ...… 查看全部问答> |
|
成都成我科技有限公司高薪诚聘硬件工程师、嵌入式开发, 良好的福利和发展前景邀您加盟~ 工作地点:成都天府软件园 联系方式:11093753@qq.com(请将简历发送至此邮箱或加QQ详谈) 嵌入式工程师 岗位职责: 1. 根据需求裁剪Linux 2. 调试摄 ...… 查看全部问答> |




