【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

相关文章

Python极速搭建局域网文件共享服务器完整指南

《Python极速搭建局域网文件共享服务器完整指南》在办公室或家庭局域网中快速共享文件时,许多人会选择第三方工具或云存储服务,但这些方案往往存在隐私泄露风险或需要复杂配置,下面我们就来看看如何使用Py... 目录一、android基础版:HTTP文件共享的魔法命令1. 一行代码启动HTTP服务器2. 关键参

SpringBoot集成EasyPoi实现Excel模板导出成PDF文件

《SpringBoot集成EasyPoi实现Excel模板导出成PDF文件》在日常工作中,我们经常需要将数据导出成Excel表格或PDF文件,本文将介绍如何在SpringBoot项目中集成EasyPo... 目录前言摘要简介源代码解析应用场景案例优缺点分析类代码方法介绍测试用例小结前言在日常工作中,我们经

如何使用Haporxy搭建Web群集

《如何使用Haporxy搭建Web群集》Haproxy是目前比较流行的一种群集调度工具,同类群集调度工具有很多如LVS和Nginx,本案例介绍使用Haproxy及Nginx搭建一套Web群集,感兴趣的... 目录一、案例分析1.案例概述2.案例前置知识点2.1 HTTP请求2.2 负载均衡常用调度算法 2.

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

如何搭建并配置HTTPD文件服务及访问权限控制

《如何搭建并配置HTTPD文件服务及访问权限控制》:本文主要介绍如何搭建并配置HTTPD文件服务及访问权限控制的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、安装HTTPD服务二、HTTPD服务目录结构三、配置修改四、服务启动五、基于用户访问权限控制六、

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>