【TOLIN】第二章|软件工程模板搭建

2024-04-13 00:32

本文主要是介绍【TOLIN】第二章|软件工程模板搭建,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【TOLIN】第二章|软件工程模板搭建 

        ↑ 点击上方,关注“Tkwer望远镜”

                                                      

作者:Tkwer

公众号:Tkwer望远镜

 

使用STM32CubeMX生成工程模板

    还没熟悉过STM32CubeMX的同学,可能要先通过互联网了解怎么使用。我们教程不会具体到每一个细节,很抱歉。

   

    官方网站介绍:STM32CubeMX is a graphical tool that allows a very easy configuration of STM32 microcontrollers and microprocessors, as well as the generation of the corresponding initialization C code for the Arm Cortex-M core or a partial Linux Device Tree for Arm Cortex-A core), through a step-by-step process.  总结,STM32CubeMX就是生成STM32软件工程模板图形化工具。

    下面就是进行Pin Configuration

    Clock Configuration

    Project Manager

生成MDK工程

 

移植正点原子的SYSTEM文件夹

    接触过STM32的各位,对于正点原子应该是不会陌生的。笔者第一块STM32的学习板也正是正点原子的。受其影响,和兼容一部分正点原子程序的移植,SYSTEM这个文件夹就显得很重要。SYSTEM这个文件夹主要包含了delay文件,sys文件,usart文件。里面有我们经常用的延时函数,串口打印函数。

    将该文件夹粘贴到工程文件夹中

 

 

    工程中添加Src与Inc

    第一次编译过后肯定是会报错的,因为本来工程就含有usart.c和usart.h,后来我们又添加一组,删掉原来的重新编译。

在main.c中做以下修改:

1/* USER CODE BEGIN Includes */
2#include "usart.h"
3#include "sys.h"
4#include "delay.h"
5/* USER CODE END Includes */

 

 1  /* USER CODE BEGIN SysInit */2    delay_init(84);3    uart_init(115200);4  /* USER CODE END SysInit */56  /* Initialize all configured peripherals */7  MX_GPIO_Init();8    //MX_USART1_UART_Init();//注释9  MX_USB_DEVICE_Init();
10  /* USER CODE BEGIN 2 */
11    int cnt = 0;
12  /* USER CODE END 2 */

 

 1  /* USER CODE BEGIN WHILE */2  while (1)3  {4    /* USER CODE END WHILE */5        printf("Hello,World!,%d\r\n",cnt);6        delay_ms(1000);7        cnt++;8    /* USER CODE BEGIN 3 */9  }
10  /* USER CODE END 3 */

效果如下:

证明正点原子SYSTEM文件夹移植成功。

点亮OLED,显示“Hello,world!”

    OLED是一个电子手表用的显示屏,比较简单且低功耗,标准IIC协议和驱动是SSD1306。我们提前先把OLED驱动文件写好了,直接复制文件夹到工程目录中,且在工程中添加即可使用。

 

 

1/* USER CODE BEGIN Includes */
2#include "usart.h"
3#include "sys.h"
4#include "delay.h"
5#include "SSD1306_IIC.h"
6/* USER CODE END Includes */

 

1  /* USER CODE BEGIN SysInit */
2    delay_init(84);
3    uart_init(115200);
4    OLED_Init();
5    OLED_P8x16Str(0,1,"Hello,world!");
6  /* USER CODE END SysInit */

    显示如下:

PS:点灯程序过于简单那,不写了==

END

 

公众号ID:Tkwer望远镜

提供TOLIN核心板软件工程,公众号内回复即可获取:TOLIN_Template

这篇关于【TOLIN】第二章|软件工程模板搭建的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

pytest+allure环境搭建+自动化实践过程

《pytest+allure环境搭建+自动化实践过程》:本文主要介绍pytest+allure环境搭建+自动化实践过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、pytest下载安装1.1、安装pytest1.2、检测是否安装成功二、allure下载安装2.

使用vscode搭建pywebview集成vue项目实践

《使用vscode搭建pywebview集成vue项目实践》:本文主要介绍使用vscode搭建pywebview集成vue项目实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录环境准备项目源码下载项目说明调试与生成可执行文件核心代码说明总结本节我们使用pythonpywebv

Windows Server 2025 搭建NPS-Radius服务器的步骤

《WindowsServer2025搭建NPS-Radius服务器的步骤》本文主要介绍了通过微软的NPS角色实现一个Radius服务器,身份验证和证书使用微软ADCS、ADDS,具有一定的参考价... 目录简介示意图什么是 802.1X?核心作用802.1X的组成角色工作流程简述802.1X常见应用802.

Spring Cloud GateWay搭建全过程

《SpringCloudGateWay搭建全过程》:本文主要介绍SpringCloudGateWay搭建全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录Spring Cloud GateWay搭建1.搭建注册中心1.1添加依赖1.2 配置文件及启动类1.3 测

Java如何根据word模板导出数据

《Java如何根据word模板导出数据》这篇文章主要为大家详细介绍了Java如何实现根据word模板导出数据,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... pom.XML文件导入依赖 <dependency> <groupId>cn.afterturn</groupId>

SpringBoot快速搭建TCP服务端和客户端全过程

《SpringBoot快速搭建TCP服务端和客户端全过程》:本文主要介绍SpringBoot快速搭建TCP服务端和客户端全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录TCPServerTCPClient总结由于工作需要,研究了SpringBoot搭建TCP通信的过程

Gradle下如何搭建SpringCloud分布式环境

《Gradle下如何搭建SpringCloud分布式环境》:本文主要介绍Gradle下如何搭建SpringCloud分布式环境问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录Gradle下搭建SpringCloud分布式环境1.idea配置好gradle2.创建一个空的gr

Linux搭建单机MySQL8.0.26版本的操作方法

《Linux搭建单机MySQL8.0.26版本的操作方法》:本文主要介绍Linux搭建单机MySQL8.0.26版本的操作方法,本文通过图文并茂的形式给大家讲解的非常详细,感兴趣的朋友一起看看吧... 目录概述环境信息数据库服务安装步骤下载前置依赖服务下载方式一:进入官网下载,并上传到宿主机中,适合离线环境

Python中Flask模板的使用与高级技巧详解

《Python中Flask模板的使用与高级技巧详解》在Web开发中,直接将HTML代码写在Python文件中会导致诸多问题,Flask内置了Jinja2模板引擎,完美解决了这些问题,下面我们就来看看F... 目录一、模板渲染基础1.1 为什么需要模板引擎1.2 第一个模板渲染示例1.3 模板渲染原理二、模板

利用Python打造一个Excel记账模板

《利用Python打造一个Excel记账模板》这篇文章主要为大家详细介绍了如何使用Python打造一个超实用的Excel记账模板,可以帮助大家高效管理财务,迈向财富自由之路,感兴趣的小伙伴快跟随小编一... 目录设置预算百分比超支标红预警记账模板功能介绍基础记账预算管理可视化分析摸鱼时间理财法碎片时间利用财