小白跟做江科大32单片机之新建工程

2024-05-24 12:44

本文主要是介绍小白跟做江科大32单片机之新建工程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

项目基础配置

1.新建item文件夹,包含全部stm32项目文件

2.在item文件夹中新建第一个项目,2-1 stm32工程模板,起名字是project

3.工程芯片选择STM32F10318,因为课程中的芯片是STM32F10318C8T6

4.在固件库\STM32F10x_StdPeriph_Lib_V3.5.0.zip\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm下找到这几个文件并复制到新建文件start目录下。

5.在固件库\STM32F10x_StdPeriph_Lib_V3.5.0.zip\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x下找到这三个文件复制到新建文件start目录下

6.start文件中现在包含以下文件

7.由于内核的寄存器描述和外围设备的描述文件不是在一起的,所以需要添加内核的寄存器描述文件

将固件库\STM32F10x_StdPeriph_Lib_V3.5.0.zip\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport下的两个文件都复制到start目录下

8.最终start包含以下文件

9.工程中要添加这些文件

10.添加文件路径,在这里把start的路径添加进去,添加进去之后那里会出现start

11.Target右键新建group->User

12.User->new 文件,要注意位置

13.编写利用寄存器开发STM32C的代码

14.修改编码格式

15.四根母对母杜邦线链接stlink

16.PC13灯闪烁,另一个灯常亮

17.调整Debug

18.上一步选完STLINK-debug之后,点击旁边的setting

19.编译之后,点击这个,没问题就会直接下载到STM32中


点灯

一、寄存器驱动

1.配置时钟,STM32默认单元没有时钟,必须先有时钟才能运行,先打开GPIOC的时钟

2.配置PC13口的模式,主要就是CNF13和MODE13

3.PC13口输出数据寄存器,写1就是高电平,写0就是低电平

4.这系统是低电平点亮,所以全0就是全亮

GPIOC->ODR =0x00000000;全亮

GPIOC->ODR =0x00002000;全灭

二、库函数驱动

(一)、库函数工程基础配置

1.在工程目录下新建文件用于存放库函数

2.将固件库\STM32F10x_StdPeriph_Lib_V3.5.0.zip\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver\src下的文件全部复制到刚刚新建的library文件夹下,其中misc.c是内核库函数。

3.将固件库\STM32F10x_StdPeriph_Lib_V3.5.0.zip\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver\inc下的文件全部复制到刚刚新建的library文件夹下,这都是头文件。

4.Target右键新建group->library

5.添加全部文件到library下

6.将固件库\STM32F10x_StdPeriph_Lib_V3.5.0.zip\STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template文件夹下的这三个文件复制到User下

7.在keil5软件中将这三个文件添加到User下

8.添加一个宏定义

找到下面这个语句,复制USE_STDPERIPH DRIVER

9.复制到这里

10.添加User和Library目录的路径,这步参考项目基础配置第10步。

(二)、代码编写

1.编译测试

#include "stm32f10x.h"
int main (void)
{

        while (1)

          {

           }

}

2.库函数点灯

#include "stm32f10x.h"                  // Device header

int main(void)
{
    /*开启时钟*/
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);    //开启GPIOC的时钟
                                                            //使用各个外设前必须开启时钟,否则对外设的操作无效
    
    /*GPIO初始化*/
    GPIO_InitTypeDef GPIO_InitStructure;                    //定义结构体变量
    
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;        //GPIO模式,赋值为推挽输出模式
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;                //GPIO引脚,赋值为第13号引脚
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;        //GPIO速度,赋值为50MHz
    
    GPIO_Init(GPIOC, &GPIO_InitStructure);                    //将赋值后的构体变量传递给GPIO_Init函数
                                                            //函数内部会自动根据结构体的参数配置相应寄存器
                                                            //实现GPIOC的初始化
    
    /*设置GPIO引脚的高低电平*/
    /*若不设置GPIO引脚的电平,则在GPIO初始化为推挽输出后,指定引脚默认输出低电平*/
//    GPIO_SetBits(GPIOC, GPIO_Pin_13);                        //将PC13引脚设置为高电平
    GPIO_ResetBits(GPIOC, GPIO_Pin_13);                        //将PC13引脚设置为低电平
    
    while (1)
    {
        
    }
}


注意:前面的项目基础配置中的第四步为什么选择那些文件的答案就是这个

这篇关于小白跟做江科大32单片机之新建工程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/998442

相关文章

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

基于51单片机的自动转向修复系统的设计与实现

文章目录 前言资料获取设计介绍功能介绍设计清单具体实现截图参考文献设计获取 前言 💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们电子相关专业的大学生,希望您们都共创辉煌!✌💗 👇🏻 精彩专栏 推荐订阅👇🏻 单片机

Windows如何添加右键新建菜单

Windows如何添加右键新建菜单 文章目录 Windows如何添加右键新建菜单实验环境缘起以新建`.md`文件为例第一步第二步第三步 总结 实验环境 Windows7 缘起 因为我习惯用 Markdown 格式写文本,每次新建一个.txt后都要手动修改为.md,真的麻烦。如何在右键新建菜单中添加.md选项呢? 网上有很多方法,这些方法我都尝试了,要么太麻烦,要么不凑效

Jenkins构建Maven聚合工程,指定构建子模块

一、设置单独编译构建子模块 配置: 1、Root POM指向父pom.xml 2、Goals and options指定构建模块的参数: mvn -pl project1/project1-son -am clean package 单独构建project1-son项目以及它所依赖的其它项目。 说明: mvn clean package -pl 父级模块名/子模块名 -am参数

单片机毕业设计基于单片机的智能门禁系统的设计与实现

文章目录 前言资料获取设计介绍功能介绍程序代码部分参考 设计清单具体实现截图参考文献设计获取 前言 💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们电子相关专业的大学生,希望您们都共创辉煌!✌💗 👇🏻 精彩专栏 推荐订

STM32CubeMX和HAL库-新建项目

目录 新建项目 选择开发板  MCU图形化配置界面总览 MCU配置 新建项目 新建项目包含选择MCU创建项目、选择开发板新建项目和交叉选择MCU新建项目三部分。 1. 选择MCU创建项目 单击主菜单项File→New Project,或Home视图上的ACCESS TO MCU SELECTOR 按钮,都可以打开的New Project from a MCU/MPU对话框。

基于stm32的河流检测系统-单片机毕业设计

文章目录 前言资料获取设计介绍功能介绍具体实现截图参考文献设计获取 前言 💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们电子相关专业的大学生,希望您们都共创辉煌!✌💗 👇🏻 精彩专栏 推荐订阅👇🏻 单片机设计精品

二、Maven工程的创建--JavaSEJavaEE

1、idea创建Maven JavaSE工程:  2、idea创建Maven JavaEE工程:   (1)手动创建 (2)插件方式创建 在idea里安装插件JBLJavaToWeb; 选择需要生成的项目文件后,右击: 项目的webapp文件夹出现小蓝点,代表成功。

三、Maven工程的构建

首先,创建和构建是两个概念。 构建是指将源代码、依赖库和资源文件等转换为可执行或可部署的应用程序的过程。 在这个过程中包括编译源代码、链接依赖库、打包和部署等多个步骤。 项目构建是软件开发过程中至关重要的一部分,它能够大大提高软件开发效率,使得开发人员更加专注于应用程序的开发和维护,而不必关心应用程序的构建细节。 同时,项目构建还能将多人写的代码聚合,并能够自动化项目的构建和部署,

『功能项目』更换URP场景【32】

上一章已经将项目从普通管线升级到了URP管线 现在我们打开上一篇31项目优化 - 默认管线转URP的项目, 进入战斗场景 将Land的子级全部隐藏 将新的URP场景预制体拖拽至Land子级 对场景预制体完全解压缩 将Terrain拖拽至Land的直接子级 将Terrain设置为Land 与 静态Static 清除烘培 重新烘培 修改脚本:LoadRe