STM32三十天征服计划 阶段一:硬件认知(Day1-5

0
回复
101
查看
[ 复制链接 ]

52

主题

2

回帖

196

积分

版主

积分
196
2025-6-17 09:08:40 显示全部楼层 阅读模式
STM32三十天征服计划
阶段一:硬件认知(Day1-5)
Day1 - 开发环境搭建
  • 软件安装

    • [√] Keil MDK(注册器破解步骤截图)
    • [√] ST-Link驱动(识别失败的3种解决方法)

  • 第一个工程
    [backcolor=var(--ds-md-code-block-banner-wrap-background-color)][color=var(--dsr-text-2)]c
    [color=var(--dsr-icon-fg-1)][color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

    复制
    [color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

    下载





    #include "stm32f10x.h" // 标准外设库头文件int main(void) {    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);    GPIO_InitTypeDef g = {GPIO_Pin_13, GPIO_Speed_50MHz, GPIO_Mode_Out_PP};    GPIO_Init(GPIOC, &g);    while(1) {        GPIO_WriteBit(GPIOC, GPIO_Pin_13, (BitAction)(1-GPIO_ReadOutputDataBit(GPIOC, GPIO_Pin_13)));        for(int i=0;i<500000;i++);    }}
    作业:让LED快闪/慢闪(修改循环次数)

Day2 - 按键输入检测
  • 电路连接:PA0 → 按键 → GND(内部上拉)
  • 防抖代码:
    [backcolor=var(--ds-md-code-block-banner-wrap-background-color)][color=var(--dsr-text-2)]c
    [color=var(--dsr-icon-fg-1)][color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

    复制
    [color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

    下载





    if(GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0)==0) {    delay_ms(20);  // 等待抖动结束    if(GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0)==0) {        // 确认按键按下    }}





收藏
送赞
分享
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则