Keil4下使用STM32库V35Word文档下载推荐.docx
- 文档编号:22004431
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:16
- 大小:1.19MB
Keil4下使用STM32库V35Word文档下载推荐.docx
《Keil4下使用STM32库V35Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《Keil4下使用STM32库V35Word文档下载推荐.docx(16页珍藏版)》请在冰豆网上搜索。
点“OK”,进入下一环节
4.接着会出现这样的一个提示框,此处是选择是启动文件,但要使用库V3.5,此处点“否”
5.此时Project中出现的是这样
6.重点来了:
选择工具条上的ManageComponents,下图圈中
7.接着我们会在此完成文件添加
在”Groups”中新建3个文件夹
1.StartUp
2.Library
3.User
用于分类存放相关文件
8.选中“Groups”中的“StartUp”文件,然后再在Files框下,点击“AddFile”找到目录下刚才存放的Libraries文件并打开,找到路径如下,并选中startup_stm32f10x_md.s
"
F:
\STM32\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm\startup_stm32f10x_md.s"
同理,我们添加Library文件夹
添加:
stm32f10x_GPIO.cstm32f10x_rcc.cstm32f10x_tim.c
\STM32\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c"
最后添加我们的“User”文件夹
此处需要添加一个系统文件system_stm32f10x.c路径如下:
\STM32\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\system_stm32f10x.c"
添加完成这个文件后,可以点“OK”结束了
现在我们的Project中有如图文件:
9.新建我们的main.c
点红框处新建一个Txet1文件,保存为“main.c”
记得加“.c”后缀
10.右击Project中的“User”出现有图菜单点击“AddFilestoGroup‘User’…”将保存的main.c文件添加到“User”中
至此文件添加完成,如果还需要添加文件,可重复步骤8.9
11.将我们添加的文件与固件库关联起来
点击工具条的“TargetOptions”
弹出右图框
12.按蓝色标记步骤,一步一步设置
点击“IncludeParts”的浏览按钮出现“FolderSetup”
新建链接如右图步骤
一直浏览到右图文件夹,并选中“确定”:
重复第一步骤新建找到路径,选中“inc”文件夹
至此,关联固件库完成:
如果需要添加自己的库可以采用此类方式,将“.h头文件”关联进来
13.接下来是让自己的文件夹更合理,分类更细致的步骤
点击
“Output”
下“SelectFolderObjects”,并新建一个“Output”文件夹双击打开点“OK”完成
点击“Listing”下“SelectFolderforListing..”后新建一个listing文件夹,双击打开,点“OK”完成
14.选择适合自己开发板的下载器
点击“Debug”,出现如右图选择自己的调试器。
选择“Adapter”
“Port”
“MaxClock”
“ResetOption“
选择下载器
右图步骤:
选择自己的芯片容量,这儿选的是中等容量
选完“OK”结束
最后点击他的“OK“完成所有前期准备
20.开始编写程序运行
21.编译通过后软件仿真一下
选择菜单栏中“Debug“按钮:
选择软件仿真:
逻辑分析仪
点“SetUp“,新建一个输入管脚名“porta.6”,选择PA6引脚作为输出观察
第四步:
点击“Run”开始运行
第五步:
结果
最后附上此例子程序
/**********************************
*文件名:
main.c
*说明:
1.产生一个PWM波;
*2.输出频率=72MHz/预分频(TIM_Prescaler)/计数周期(TIM_Period)
*完成者:
Lijinquan
*University:
NCUT
完成时间:
31/07/2012
************************************/
#include"
stm32f10x.h"
stm32f10x_tim.h"
voidTimer3_GPIO_Configuration(void);
voidTimer3_BASE_Configuration(void);
voidTimer3_PWM_Configuration(void);
intmain(void)
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE);
Timer3_GPIO_Configuration();
Timer3_BASE_Configuration();
Timer3_PWM_Configuration();
}
voidTimer3_GPIO_Configuration(void)
{
GPIO_InitTypeDefGPIO_InitStructure_TIMER3PWM_PORTA;
GPIO_InitStructure_TIMER3PWM_PORTA.GPIO_Pin=GPIO_Pin_6;
GPIO_InitStructure_TIMER3PWM_PORTA.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_InitStructure_TIMER3PWM_PORTA.GPIO_Mode=GPIO_Mode_AF_PP;
//复用功能的推挽输出,片内、外设功能
GPIO_Init(GPIOA,&
GPIO_InitStructure_TIMER3PWM_PORTA);
voidTimer3_BASE_Configuration(void)
TIM_TimeBaseInitTypeDefTIM_TimeBaseStructure;
TIM_DeInit(TIM3);
TIM_InternalClockConfig(TIM3);
//TIM_Prescaler:
指定用于划分的TIM时钟的分频值。
TIM_TimeBaseStructure.TIM_Prescaler=72;
TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up;
TIM_TimeBaseStructure.TIM_Period=50000-1;
TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1;
TIM_TimeBaseInit(TIM3,&
TIM_TimeBaseStructure);
//采用内部时钟给TIM3提供时钟源
}
voidTimer3_PWM_Configuration(void)
unsignedintT3CH1_DC=50;
TIM_OCInitTypeDefTIM_OCInitStructure;
TIM_OCInitStructure.TIM_OCMode=TIM_OCMode_PWM2;
TIM_OCInitStructure.TIM_OutputState=TIM_OutputState_Enable;
TIM_OCInitStructure.TIM_Pulse=(T3CH1_DC*50000)/100;
//写比较值(占空比输入)
TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_High;
TIM_OC1Init(TIM3,&
TIM_OCInitStructure);
TIM_ARRPreloadConfig(TIM3,ENABLE);
TIM_Cmd(TIM3,ENABLE);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Keil4 使用 STM32 V35