tag 标签: 入门

相关博文
  • 热度 11
    2020-7-5 14:42
    1164 次阅读|
    0 个评论
    【不用开发板学习STM32】一般流水灯实验(文末获取代码及工程文件)
    • 实验环境 本次实验是通过Proteus+MDK一起模拟完成的。Proteus模拟实际电路,MDK编译代码。Proteus版本是8.9,MDK版本是5.21。需要注意的是,Proteus需要安装8.8以上版本,器件库里面要支持STM32F103C6。 • 实验目的 通过点亮三个LED,我们俗称的流水灯,来了解STM32的GPIO是怎么配置的。我们实验设置了Systick,即系统滴答时钟,延时也是通过这个滴答时钟来配置的,可以通过这个实验学习一下,怎么配置Systick,以及Systick中断怎么用。 • 主控: STM32F103C6(本来想用C8的,但是Proteus只有C6,本质上只有Flash和SRAM大小的区别,所有没有必要纠结) • 时钟: 没有用外部晶振,因为Proteus只支持一种时钟树,所以这里采用内部晶振,做实验够了。 • 复位电路: 复位电路如图,包含了上电复位电路一个10K电阻(图上用的是100K实际应该都是可以的)+一个100nF电容。按键复位电路,包含了一个自复位按键,按下后,RST管脚就会短路到GND,MCU就会复位。 • IO说明: 我们利用PA1、PA2、PA3来分别控制3个LED灯,输出低电平的时候,LED灯点亮。 • 代码目录概述: APP文件夹:主要包含应用函数的.C文件。 BSP文件夹:主要包含底层硬件驱动的.C文件。 MDK-ARM文件夹:主要包含STM32的启动的.S文件。 StdPeriph_Driver文件夹:主要包含ST官方提供的标准外设驱动.C文件(不是HAL库哦)。 CMSIS文件夹:系统内核配置文件,标准库自带的。 • 代码内容概述: ↓↓↓ GPIO初始化,先打开GPIOA的时钟,然后把PA1、PA2、PA3设置成推挽输出,代码如下: GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); GPIO_InitStructure.GPIO_Pin = LED1_Pin | LED2_Pin | LED3_Pin; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_Init(GPIOA, &GPIO_InitStructure); ↓↓↓ Systick也要初始化,这里滴答时钟设置成1ms进一次中断,代码如下: void bsp_InitSysTick(void) { if (SysTick_Config(SystemCoreClock / 1000)) { /* Capture error */ while (1); } } ↓↓↓这里我们使用的是内部时钟,所以在初始化外设后还要把MCU设置成使用内部时钟,代码如下: void RCC_Configuration(void) { RCC_DeInit(); RCC_HSICmd(ENABLE); while(RCC_GetFlagStatus(RCC_FLAG_HSIRDY) == RESET); RCC_HCLKConfig(RCC_SYSCLK_Div1); RCC_PCLK1Config(RCC_HCLK_Div2); RCC_PCLK2Config(RCC_HCLK_Div1); RCC_ADCCLKConfig(RCC_PCLK2_Div4); RCC_PLLConfig(RCC_PLLSource_HSI_Div2,RCC_PLLMul_10); RCC_PLLCmd(ENABLE); while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET); RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); while(RCC_GetSYSCLKSource() != 0x08); } ↓↓↓ 更详细代码及工程文件,关注回复编号2001就能获取!!
相关资源
  • 所需E币: 0
    时间: 7 天前
    大小: 19.76MB
    黑客新手入门必读经典读物
  • 所需E币: 3
    时间: 2021-1-26 18:45
    大小: 371KB
    上传者: 夜未央
    电路板维修入门教程(特别推荐)
  • 所需E币: 1
    时间: 2020-12-30 17:40
    大小: 3.16MB
    上传者: Argent
    电子产品日新月异,不管是硬件工程师还是软件工程师,基本的模电、数电知识也是必备的条件,从二极管到三极管,从单片机到多核MCU,3G网络到5G产品的普及,不管电子产品的集成度怎么高,其产品还是少不了电阻电容电感,每个元器件在电路中必然有其作用,有兴趣了解的网友,下载学习学习吧。
  • 所需E币: 1
    时间: 2020-12-29 11:05
    大小: 60.01MB
    上传者: zendy_731593397
    本书分12章第1章主要介绍开关电源的分类,基本工作原理及组成第2章主要介绍开关电源的单元电路,包括交流抗干扰电路,稳压电路,保护电路,同步整流电路等第3章主要介绍开关电源的常见元器件识别及检测技巧第4章主要介绍开关电源的故障原因,维修方法和常用维修工具第5章主要介绍半桥式全桥式等DC/DC变换器识别要点和方法第6~·9章主要介绍开关电源在彩电,显示器中的应用与维修第10章主要介绍开关电源在打印机,复印件,充电器中的应用及UPS第11~12章主要内容介绍示波器,通用模块维修开关电源的方法和步骤
  • 所需E币: 3
    时间: 2020-12-28 23:09
    大小: 12.27KB
    上传者: sense1999
    史上最经典的教学视频之人工智能Python3入门到精通及Python网络爬虫网盘资料
  • 所需E币: 5
    时间: 2020-12-28 21:45
    大小: 1.04MB
    上传者: stanleylo2001
    开关电源设计从入门到精通
  • 所需E币: 0
    时间: 2020-12-28 21:37
    大小: 6.49MB
    上传者: stanleylo2001
    OMAPL138基于CCS的DSP程序开发入门教程
  • 所需E币: 0
    时间: 2020-12-28 21:38
    大小: 9.2MB
    上传者: stanleylo2001
    神经网络算法入门.pdf
  • 所需E币: 0
    时间: 2020-12-28 21:22
    大小: 319.5KB
    上传者: stanleylo2001
    Linux入门教程之Linux的基本操作
  • 所需E币: 5
    时间: 2020-12-26 15:56
    大小: 15.37MB
    倍福PLC,新型软PLC。加上倍福Tiwncat3软件的使用实现将工业自动化推向新方向。
  • 所需E币: 3
    时间: 2020-12-26 15:52
    大小: 10.02MB
    上传者: symic
    《Protel99从入门到精通》
  • 所需E币: 0
    时间: 2020-12-26 22:43
    大小: 339.14KB
    上传者: Argent
    喜欢Arduino开发的工程师有福咯,本人收集了一些有关Arduino开发的综合资料,Arduino是一个准标准的软硬件开发平台,类似VC开发Windows软件一样的平台,集成各类库文件。ArduinoIDE可以在Windows、MacintoshOSX、Linux三大主流操作系统上运行。
  • 所需E币: 1
    时间: 2020-12-26 22:50
    大小: 1.76MB
    上传者: Argent
    喜欢Arduino开发的工程师有福咯,本人收集了一些有关Arduino开发的综合资料,Arduino是一个准标准的软硬件开发平台,类似VC开发Windows软件一样的平台,集成各类库文件。ArduinoIDE可以在Windows、MacintoshOSX、Linux三大主流操作系统上运行。
  • 所需E币: 1
    时间: 2020-12-26 23:32
    大小: 510.5KB
    上传者: Argent
    喜欢Arduino开发的工程师有福咯,本人收集了一些有关Arduino开发的综合资料,Arduino是一个准标准的软硬件开发平台,类似VC开发Windows软件一样的平台,集成各类库文件。ArduinoIDE可以在Windows、MacintoshOSX、Linux三大主流操作系统上运行。
  • 所需E币: 1
    时间: 2020-12-26 23:36
    大小: 415.5KB
    上传者: Argent
    喜欢Arduino开发的工程师有福咯,本人收集了一些有关Arduino开发的综合资料,Arduino是一个准标准的软硬件开发平台,类似VC开发Windows软件一样的平台,集成各类库文件。ArduinoIDE可以在Windows、MacintoshOSX、Linux三大主流操作系统上运行。
  • 所需E币: 1
    时间: 2020-12-26 23:36
    大小: 1.04MB
    上传者: Argent
    喜欢Arduino开发的工程师有福咯,本人收集了一些有关Arduino开发的综合资料,Arduino是一个准标准的软硬件开发平台,类似VC开发Windows软件一样的平台,集成各类库文件。ArduinoIDE可以在Windows、MacintoshOSX、Linux三大主流操作系统上运行。
  • 所需E币: 1
    时间: 2020-12-26 23:28
    大小: 450KB
    上传者: Argent
    喜欢Arduino开发的工程师有福咯,本人收集了一些有关Arduino开发的综合资料,Arduino是一个准标准的软硬件开发平台,类似VC开发Windows软件一样的平台,集成各类库文件。ArduinoIDE可以在Windows、MacintoshOSX、Linux三大主流操作系统上运行。
  • 所需E币: 1
    时间: 2020-12-26 23:37
    大小: 1.02MB
    上传者: Argent
    喜欢Arduino开发的工程师有福咯,本人收集了一些有关Arduino开发的综合资料,Arduino是一个准标准的软硬件开发平台,类似VC开发Windows软件一样的平台,集成各类库文件。ArduinoIDE可以在Windows、MacintoshOSX、Linux三大主流操作系统上运行。
  • 所需E币: 1
    时间: 2020-12-26 23:28
    大小: 1.98MB
    上传者: Argent
    喜欢Arduino开发的工程师有福咯,本人收集了一些有关Arduino开发的综合资料,Arduino是一个准标准的软硬件开发平台,类似VC开发Windows软件一样的平台,集成各类库文件。ArduinoIDE可以在Windows、MacintoshOSX、Linux三大主流操作系统上运行。
  • 所需E币: 1
    时间: 2020-12-26 23:38
    大小: 523.5KB
    上传者: Argent
    喜欢Arduino开发的工程师有福咯,本人收集了一些有关Arduino开发的综合资料,Arduino是一个准标准的软硬件开发平台,类似VC开发Windows软件一样的平台,集成各类库文件。ArduinoIDE可以在Windows、MacintoshOSX、Linux三大主流操作系统上运行。
广告