X
首页
技术
模拟电子
单片机
半导体
电源管理
嵌入式
传感器
最能打国产芯
应用
汽车电子
工业控制
家用电子
手机便携
安防电子
医疗电子
网络通信
测试测量
物联网
最能打国产芯
大学堂
首页
直播
专题
TI 培训
论坛
汽车电子
国产芯片
电机驱动控制
电源技术
单片机
模拟电子
PCB设计
电子竞赛
DIY/开源
嵌入式系统
医疗电子
颁奖专区
【厂商专区】
【电子技术】
【创意与实践】
【行业应用】
【休息一下】
最能打国产芯
活动中心
直播
发现活动
颁奖区
电子头条
参考设计
下载中心
分类资源
文集
排行榜
电路图
Datasheet
最能打国产芯
stm32/stm8
[原创] STM32L4用按键点亮一个灯
xutong
2017-9-8 08:59
楼主
#include "stm32l4xx_hal.h"
void SystemClock_Config(void);
int main()
{
GPIO_InitTypeDef GPIO_InitStruct;
HAL_Init();
SystemClock_Config();
__HAL_RCC_GPIOA_CLK_ENABLE();
__HAL_RCC_GPIOC_CLK_ENABLE();
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_PULLUP;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
GPIO_InitStruct.Pin = GPIO_PIN_5 ;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
GPIO_InitStruct.Mode = GPIO_MODE_INPUT ;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Pin = GPIO_PIN_13;
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
while(1)
{
if(HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_13))
{
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5,GPIO_PIN_RESET);
}
else
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5,GPIO_PIN_SET);
}
}
void SystemClock_Config(void)
{
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
/* MSI is enabled after System reset, activate PLL with MSI as source */
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_MSI;
RCC_OscInitStruct.MSIState = RCC_MSI_ON;
RCC_OscInitStruct.MSIClockRange = RCC_MSIRANGE_6;
RCC_OscInitStruct.MSICalibrationValue = RCC_MSICALIBRATION_DEFAULT;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_MSI;
RCC_OscInitStruct.PLL.PLLM = 1;
RCC_OscInitStruct.PLL.PLLN = 40;
RCC_OscInitStruct.PLL.PLLR = 2;
RCC_OscInitStruct.PLL.PLLP = 7;
RCC_OscInitStruct.PLL.PLLQ = 4;
if(HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
{
/* Initialization Error */
while(1);
}
/* Select PLL as system clock source and configure the HCLK, PCLK1 and PCLK2
clocks dividers */
RCC_ClkInitStruct.ClockType = (RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2);
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;
RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;
if(HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_4) != HAL_OK)
{
/* Initialization Error */
while(1);
}
}
此内容由EEWORLD论坛网友
xutong
原创,如需转载或用于商业用途需征得作者同意并注明出处
希望做一些大家觉得好用的东西!
点赞
回复评论 (4)
沙发
xutong
https://bbs.eeworld.com.cn/thread-558354-1-1.html
先从昨日的帖子开始
希望做一些大家觉得好用的东西!
点赞
2017-9-8 09:00
板凳
眼大5子
else 后面的语句最好也用{}包起来,养成良好的习惯
科技改变生活
点赞
2017-9-8 09:41
4楼
xutong
引用:
眼大5子 发表于 2017-9-8 09:41
else 后面的语句最好也用{}包起来,养成良好的习惯
ok
希望做一些大家觉得好用的东西!
点赞
2017-9-8 10:03
5楼
xutong
keil注释复制出来是乱码的解决方法
希望做一些大家觉得好用的东西!
点赞
2017-9-8 12:43
最新活动
报名直播赢【双肩包、京东卡、水杯】| 高可靠性IGBT的新选择——安世半导体650V IGBT
30套RV1106 Linux开发板(带摄像头),邀您动手挑战边缘AI~
安世半导体理想二极管与负载开关,保障物联网应用的稳健高效运行
免费申请 | 上百份MPS MIE模块,免费试用还有礼!
PI 电源小课堂|无 DC-DC 变换实现多路高精度输出反激电源
2024 瑞萨电子MCU/MPU工业技术研讨会——深圳、上海站, 火热报名中
随便看看
电源线只剩一根,你怎么办?
超声波接收电路设计
sd卡驱动加载成功,在文件系统下面却看不到对应的文件夹????
DSP、FPGA的时钟线
求大神来看看怎么才能正常显示3D模型
斩波型运放及其噪声
白丁DE1-SOC资料汇总
FRAM在汽车行驶记录仪中的应用1
05年我国计算机类产品出口首超千亿美元
高频信号发生器
EEWORLD大学堂----微电子器件与IC设计(华中科技大学)
优秀产品是这样设计出来的--《一个高人的设计》续
74LS10(三输入与非门)能驱动P-MOS管吗
求助:关于lwip,AXD调试
《MCU工程师炼成记》-- 关于MSP430(已@EEWORLD)
小白求助:如何用5438的ADC将0-3V的模拟电压信号转换成数字信号?
TI AM335x开发板 如何烧写?BBB的Debian系统
江湖救急啊!
圆点博士微型四轴飞行器第二次裸飞成功
接收机——信号干扰
电子工程世界版权所有
京B2-20211791
京ICP备10001474号-1
京公网安备 11010802033920号
回复
写回复
收藏
回复