VSCode 下 PlatformIO 的使用

硬件开发除了旧时代的keil, 还可以用VSCode + PlatformIO 这套.
vs code里搜插件PlatformIO IDE 安装就完事了.下载慢的问题没遇到.
再加上无线下载器, 跨入新时代, 就像命运2的过于时尚的猎人
在这里插入图片描述

main.c


#include "stm32f1xx.h"  

void SystemClock_Config(void);

int main(void)
{
    // 1. HAL库初始化(系统级配置)
    HAL_Init(); 
    // 2. 配置系统时钟(需用户自定义SystemClock_Config函数)
    SystemClock_Config(); 
    // 3. 初始化PC13为推挽输出模式
    GPIO_InitTypeDef GPIO_InitStruct = {0}; // 初始化所有成员为默认值
    __HAL_RCC_GPIOC_CLK_ENABLE(); // 使能GPIOC时钟
    GPIO_InitStruct.Pin = GPIO_PIN_13;      // 选择PC13引脚
    GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; // 推挽输出模式(强高低电平驱动)
    GPIO_InitStruct.Pull = GPIO_NOPULL;     // 无上拉/下拉电阻
    GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; // 低速输出(根据需求可选MEDIUM/HIGH)
    HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); // 应用配置到GPIOC端口

    while (1) {
        // 示例:循环切换PC13电平(间隔延迟)
        HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_SET);   // 高电平(3.3V或5V,取决于系统供电)
        HAL_Delay(1000);                                       // 延时500ms
        HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_RESET); // 低电平(GND)
        HAL_Delay(1000);
    }
}

// ===========================================================
/** System Clock Configuration
*/
void SystemClock_Config(void) {
    RCC_OscInitTypeDef osc_init = {0};       // 振荡器初始化结构体
    RCC_ClkInitTypeDef clk_init = {0};        // 时钟树配置结构体

    // =========== Step 1: 配置振荡源 (HSE外部晶振) ===========
    // 假设使用8MHz外部晶振作为PLL输入源
    osc_init.OscillatorType = RCC_OSCILLATORTYPE_HSE;      // 选择高速外部时钟(HSE)
    osc_init.HSEState = RCC_HSE_ON;                        // 开启HSE
    osc_init.HSEPredivValue = RCC_HSE_PREDIV_DIV1;         // HSE不分频 (保持原频率)
    osc_init.PLL.PLLState = RCC_PLL_ON;                    // 启用PLL锁相环
    osc_init.PLL.PLLSource = RCC_PLLSOURCE_HSE;            // PLL输入源为HSE
    osc_init.PLL.PLLMUL = RCC_PLL_MUL6;                    // 设置倍频系数: 8MHz × 9 = 72MHz

    // 确保 HSE 已准备好再进行下一步
    HAL_RCC_OscConfig(&osc_init);

    // =========== Step 2: 分配系统时钟给各总线 ===========
    clk_init.ClockType = RCC_CLOCKTYPE_SYSCLK |             // 配置系统主时钟(SYSCLK)
                         RCC_CLOCKTYPE_HCLK |               // 以及AHB/APB外设总线
                         RCC_CLOCKTYPE_PCLK1 |              // 包括低速外设(如UART)所在的APB1
                         RCC_CLOCKTYPE_PCLK2;              // 和高速外设(如SPI)所在的APB2
    clk_init.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;       // 选择PLL作为系统时钟源
    clk_init.AHBCLKDivider = RCC_SYSCLK_DIV1;              // AHB总线不进行分频 (72MHz/1=72MHz)
    clk_init.APB1CLKDivider = RCC_HCLK_DIV2;               // APB1总线分频比为2 (72MHz/2=36MHz)
    clk_init.APB2CLKDivider = RCC_HCLK_DIV1;               // APB2总线不进行分频 (72MHz/1=72MHz)

    HAL_RCC_ClockConfig(&clk_init, FLASH_LATENCY_2);
}

/**
 * @brief  SysTick interrupt handler (set at 1ms).
 *         We must hook the systick in order for HAL_Delay to work.
 *         If this is not done the HAL_Delay time will not increment and
 *         calling HAL_Delay() will block.
 * @param  None
 * @retval None
 */
void SysTick_Handler(void)
{
    HAL_IncTick();
}

最后的SysTick_Handler函数是必须的,很奇怪几个AI都没给这个代码, 而且问为什么HAL_Delay()会卡住,他们也回答不出

### VSCode 使用教程 #### 安装 首先从 VSCode 官方网站(https://code.visualstudio.com/ )下载适合自己操作系统的安装包,然后运行安装程序,按照提示完成安装。 #### 基本操作 - **打开文件和文件夹**:启动 VSCode 后,可通过“文件”菜单中的“打开文件”或“打开文件夹”选项来打开相应的文件或文件夹。 - **编辑代码**:打开文件后,即可在编辑区域进行代码编写。VSCode 支持多种编程语言的语法高亮显示,方便代码阅读和编写。 ```python # 示例 Python 代码 print("Hello, World!") ``` - **调试代码**:对于支持调试的语言,可通过在代码行旁边点击添加断点,然后使用调试工具栏上的按钮开始、暂停、继续或停止调试。 - **扩展安装**:VSCode 的强大之处在于其丰富的扩展。点击左侧活动栏的扩展图标,在搜索框中输入想要的扩展名称,如 Python、Java 等扩展,然后点击安装按钮进行安装。 ### PlatformIO 使用教程 #### 安装 - **通过 VSCode 扩展安装**:打开 VSCode,点击扩展图标,搜索“PlatformIO IDE”,然后点击安装按钮进行安装。 #### 创建项目 - 安装完成后,点击左侧活动栏的 PlatformIO 图标,在弹出的界面中选择“新建项目”。 - 在新建项目对话框中,选择项目名称、存储位置、开发板类型和框架,然后点击“确定”按钮,PlatformIO 会自动创建项目结构并下载相关的库和工具链。 #### 编写代码 项目创建完成后,在 `src` 文件夹下找到 `main.cpp`(对于 Arduino 项目)或其他源文件,进行代码编写。 ```cpp // 示例 Arduino 代码 void setup() { Serial.begin(9600); } void loop() { Serial.println("Hello, PlatformIO!"); delay(1000); } ``` #### 编译和上传 - **编译**:点击 PlatformIO 图标,选择“项目任务” -> “编译”,PlatformIO 会自动编译代码。 - **上传**:如果编译成功,可选择“项目任务” -> “上传”,将代码上传到开发板。 #### 库管理 - 点击 PlatformIO 图标,选择“库管理器”,在搜索框中输入想要的库名称,然后点击安装按钮进行库的安装。安装后,可在代码中引用该库。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值