------------------------------------------------------
金葫芦提示:
(1)蓝灯闪烁\n");
(2)每10ms中断触发SysTick定时器中断处理程序一次。
(3)进入SysTick定时器中断处理程序后,静态变量10ms单元+1,
(4)达到一秒时,调用秒+1,程序,计算“时、分、秒”。
(5)使用全局变量字节型数组gTime[3],分别存储“时、分、秒”。
(6)可通过时间测试程序C#2019测试30秒的时间间隔来校准Systick
(7)注意其中静态变量的使用
------------------------------------------------------
---【程序说明】---
(1)程序摘要:基于BIOS的STM32L431工程
(2)运行芯片:本工程基于BIOS运行,不从0启动
(3)软件环境:AHL-GEC-IDE,兼容STM32cubeIDE
(4)硬件环境:AHL-STM32L431,实质是只要是STM32L431即可,
接AHL-GEC扩展板,有三色灯指示
(5)硬件连接:见"..\05_UserBoard\user"文件
(6)功能简述:
① 蓝灯约每秒闪烁一次;
② 按照user.inc文件要求连接用户串口,
利用开发环境“工具”→“串口工具”,
向MCU发送一个字符,MCU会返回一个字符
---【何把User程序改为直接从零启动程序(只有两处)】---
(1)03_MCU文件夹中的.ld中,
GEC_USER_SECTOR_START =0; /*USER程序开始扇区号*/
(2)04_GEC文件夹中gec.h文件
#define GEC_USER_SECTOR_START (0)
这样的程序,删除Debug,重新编译后,使用SWD写入器下载,直接运行,不需要BIOS
---移植规则---【20200806】
不同芯片BIOS及User框架基本规则
02_CPU 该文件夹除cpu.h之外,其他文件BIOS工程与User工程同
cpu.h 变动(1)~(2),根据MCU型号变动
03_MCU mcu.h 变动(1)~(3),根据MCU型号变动,且BIOS工程与User工程同
在该文件中修改MCU型号及BIOS版本号
.ld文件:根据MCU型号变动,且BIOS工程与User工程不同
.s文件:改动类似BSS处,且BIOS工程与User工程不同
04_GEC 各芯片BIOS工程一致,
各芯片User工程一致,但同芯片BIOS与User工程的04_GEC
内容不同
05_UserBoard BIOS中除去User.h根据MCU型号变动,其他文件相同
06、07文件夹:各芯片BIOS相同,同功能的User相同
---版本历史---
【20200830】 V3.5 规范程序,规范对于User模板,适应RTOS
【20200829】 V3.4 复位后重置动态命令
【20200812】修改.s文件,缺省中断,直接返回
【20200630】(1)获取对应芯片的官方工程样例。
(2)参照本BIOS标准工程,整理工程文件夹结构。
01_Doc:存放makefile文件和其他说明文档
02_CPU:存放内核头文件。
复制本工程中的cpu.h,根据可移植性标识
对【变动】部分加以改动,使之适应目标芯片。
03_MCU:存放链接文件、启动文件和基本驱动(gpio、uart、flash)。
复制本工程中的mcu.h,根据可移植性标识对【变动】部分加以改动,
使之适应目标芯片。
链接文件的修改:复制本工程链接文件的第(1)部分并加以改动,
使之适应目标芯片。Flash字段中各分段的赋值方式直接拷贝本工
程链接文件的第(2)部分。Section字段将本工程的第(3)部分
中头部的【固定】部分复制并添加至头部。
参照标准工程链接文件将存储空间分为对应的分段。
其中BIOS分段的大小在编译后根据程序大小,取最小的值。
动态命令分段、构建函数列表分段均取4KB大小左右,视存储空间大小,
构建函数代码分段可取10KB及以上。
在对应的SECTIONS断中同样对各个分段给出对应的定义。
04_GEC、05_UserBoard、06_SoftComponent、07_NosPrg直接拷贝。
对gec.h和user.h中【变动】部分加以改动,使之适应目标芯片
【20200526】V3.0 (1)MCU_TYPE改为3.0;(2)删除mcu.h中无用定义;
(3)修改类型转换构件名及内部函数名
stm32嵌入式实验考核9
需积分: 0 23 浏览量
更新于2024-01-25
1
收藏 798KB 7Z 举报
STM32嵌入式实验考核9的核心是利用STM32微控制器进行系统级定时器(SysTick)的配置和管理,同时设计一个上位机软件,通过串行通信接口(UART)来设置或读取SysTick的时间参数。下面将详细阐述相关知识点。
1. **STM32 微控制器**:
STM32是意法半导体(STMicroelectronics)推出的一系列基于ARM Cortex-M内核的微控制器。STM32家族广泛应用于各种嵌入式系统,因其高性能、低功耗和丰富的外设接口而受到青睐。在本实验中,我们将使用其串口通信和定时器功能。
2. **SysTick 定时器**:
SysTick是Cortex-M内核中的一个内置定时器,用于实现周期性任务或者系统时钟。它是一个24位递减计数器,可以用来设置系统延迟或者中断。在STM32中,我们可以配置SysTick的时钟源、重载值和中断使能等参数。
3. **上位机软件设计**:
上位机通常指的是与下位机(如STM32开发板)通信的计算机应用程序。在这个实验中,你需要设计一个上位机软件,它可以与STM32通过UART接口进行数据交换。上位机软件可能包括以下功能:
- 显示当前SysTick的计时时间。
- 允许用户输入新的计时时间并将其发送到STM32。
- 接收STM32返回的系统时间,并更新显示。
4. **串口通信(UART)**:
UART(通用异步接收/发送器)是一种常见的串行通信接口,用于设备间的双向通信。在STM32中,我们需要配置UART的波特率、数据位、停止位和校验位,然后通过中断或轮询方式处理发送和接收的数据。
5. **STM32固件库**:
为了简化开发,STM32提供了固件库,包含了对硬件资源的操作函数。在配置SysTick和UART时,我们会用到库中的`SysTick_Config()`函数来设置定时器,以及`HAL_UART_Transmit()`和`HAL_UART_Receive()`函数进行串口通信。
6. **嵌入式程序设计**:
在STM32端,你需要编写初始化代码,配置UART和SysTick,然后设定中断服务例程以处理来自上位机的命令。此外,可能还需要实现一个简单的协议,用于数据的打包和解包,确保数据传输的正确性。
7. **中断处理**:
当接收到上位机的设置命令时,STM32会触发UART的接收中断。在中断服务程序中,我们需要解析接收到的数据,更新SysTick的重载值,并响应确认信息回传给上位机。
8. **调试与测试**:
完成编程后,使用如J-Link或ST-Link等调试器连接STM32板子,通过断点、单步执行和查看变量等方式进行调试。同时,配合上位机软件进行通信测试,确保数据的正确传输和定时器的正确设置。
STM32嵌入式实验考核9涵盖了STM32微控制器的基本操作,包括定时器配置、串口通信以及上位机软件的设计。这个实验不仅锻炼了硬件控制能力,还强化了嵌入式系统的通信与交互技能。
橙汁333
- 粉丝: 48
- 资源: 49
最新资源
- 【创新无忧】基于豪猪优化算法CPO优化相关向量机RVM实现数据多输入单输出回归预测附matlab代码.rar
- 【创新无忧】基于黑翅鸢算法BKA优化广义神经网络GRNN实现电机故障诊断附matlab代码.rar
- 【创新无忧】基于黑翅鸢算法BKA优化极限学习机ELM实现乳腺肿瘤诊断附matlab代码.rar
- 【创新无忧】基于黑猩猩优化算法Chimp优化广义神经网络GRNN实现电机故障诊断附matlab代码.rar
- 【创新无忧】基于黑猩猩优化算法Chimp优化广义神经网络GRNN实现光伏预测附matlab代码.rar
- 【创新无忧】基于黑翅鸢算法BKA优化极限学习机KELM实现故障诊断附matlab代码.rar
- 【创新无忧】基于黑猩猩优化算法Chimp优化广义神经网络GRNN实现数据回归预测附matlab代码.rar
- 【创新无忧】基于黑猩猩优化算法Chimp优化极限学习机ELM实现乳腺肿瘤诊断附matlab代码.rar
- 【创新无忧】基于黑猩猩优化算法Chimp优化极限学习机KELM实现故障诊断附matlab代码.rar
- 【创新无忧】基于花朵授粉优化算法FPA优化广义神经网络GRNN实现电机故障诊断附matlab代码.rar
- 【创新无忧】基于黑猩猩优化算法Chimp优化相关向量机RVM实现北半球光伏数据预测附matlab代码.rar
- 【创新无忧】基于黑猩猩优化算法Chimp优化相关向量机RVM实现数据多输入单输出回归预测附matlab代码.rar
- 【创新无忧】基于花朵授粉优化算法FPA优化广义神经网络GRNN实现数据回归预测附matlab代码.rar
- 【创新无忧】基于花朵授粉优化算法FPA优化广义神经网络GRNN实现光伏预测附matlab代码.rar
- 【创新无忧】基于花朵授粉优化算法FPA优化极限学习机ELM实现乳腺肿瘤诊断附matlab代码.rar
- 【创新无忧】基于花朵授粉优化算法FPA优化相关向量机RVM实现数据多输入单输出回归预测附matlab代码.rar