stm32学习笔记(如何新建一个工程)

第一步新建一个文件夹用来装stm32工程方便以后学习

我新建的文件夹为stm32porjocte,以后的工程都存在这个文件夹下方便管理

第二步进行kill文件的操作

1点击prpject创建一个新的工程

把工程放在文件夹里

下面选择器件型号

 我们选择的是stm32f103c8t5,所以这里选择时tm32f103c8这个

然后点击ok后悔弹出keil一个新建工程的小助手,这个可以帮助我们新建工程

直接把他X掉

然后在电脑打开 D:\stm32学习\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm复制里面的的文件挺好添加到新建的stm32project里面然后命名为star

 

第一个点H是和51单片REGx52.h是一样的 。system主要是用来配置时钟的,把文件复制下来添加到star文件里

然后需要添加连个CM3(cortex-M3)文件就是内核的寄存器描述一起加入到新建star文件夹下到这我们工程复制的那些必要文件就完成了 

第三步将刚刚复制的文件添加到工程里去

先打开keil5然后点击

将他改名为star然后添加工程文件里

然后打开魔术棒按键

打开工程选项,在c/c++里 

 然后点击includepaths栏,然后点击右边三个点

 然后在点三个点,把star的路劲添加进来

 

 这样就把头函数添加进来了,

随后在尅了在target这里右键,点击添加组改个名字叫user

 然后添加C文件ps 记得添加在user文件夹里否则会建在外面

 然后在c文件里插入头文件选择stn32f10x.h文件,然后写一个while循环

int   main (void)

(

whikle(1)

        {

        }

记住最后一行需要空行否则会报警

小知识;打开 小扳手将enconding改为utf8否则中文显示会出问题      

接下来把STLIK和4根母对母杜邦线把3.3V   swdio  swclk gnd对应连接好

 

插上电脑后电源灯会常亮

 连接在pc13接口是的灯默认一个是闪烁状态,这是芯片的一个测试程序

接下打开魔术棒

选择debug然后选择stlinkdebugger

然后点击settings

 把resst and run沟上,之后我们下载程序会立马执行

然后点击load如果要求正常的话,这个程序就会下载到stm32里面

第三步配置经寄存器点灯

配置寄存器比较麻烦但是还是需要聊一

首先是Rcc的寄存器来使能gpioc的时钟,需要在apb2外设使能集翠成裘RCC-APB2ENR里面的配置

然后第二个寄存器我们需要配置一下PC13口的模式

 寄存器还是不太方便

4库函数操作点灯

首先建立以后library的文件夹

 然后打开函数库

 将两个都复制在library里面

 在添加一个library文件夹里添加前面复制的库函数

 现在还不能直接使用我们还需要添加一个文件

将这 3个文件放到USER里

最后添加到user里面

 然后打开

 找到条件编译语句

 将条件编译字符串复制到define顺手添加路径

 

这里面有两个参数第一个是选择外设第二个是选择新的状态

 下面是写法的一句一句解析

    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);//使能apb2的时钟

GPIO_InitTypeDef GPIO_InitStructure;//声明一个结构体,名字是GPIO_InitStructure,结构体原型由GPIO_InitTypeDef 确定,
stm32里面初始化GPIO用的。设置完了GPIO_InitStructure里面的内容后
在GPIO_Init (GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_InitStruct)里面调用,
比如初始化pa口,就是
GPIO_Init (GPIOA, &GPIO_InitStructure),括号里后面那个就是你问题里面声明的那个结构体

GPIO_InitStructure.GPIO_Mode  =GPIO_Mode_Out_PP;

    GPIO结构体:

      typedef struct
     {
       uint16_t GPIO_Pin;    //选择管脚,是你想用到的管脚       

       GPIOSpeed_TypeDef GPIO_Speed;  //选择速度 可选2M  10M  50M

       GPIOMode_TypeDef GPIO_Mode;  //输入输出的8种模式,这要根据外电路和作用选择 

     }GPIO_InitTypeDef;

GPIO_SetBits(GPIOC,GPIO_Pin_13);//开灯
  GPIO_ResetBits(GPIOC,GPIO_Pin_13)//关灯

  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值