【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

相关文章

使用DeepSeek搭建个人知识库(在笔记本电脑上)

《使用DeepSeek搭建个人知识库(在笔记本电脑上)》本文介绍了如何在笔记本电脑上使用DeepSeek和开源工具搭建个人知识库,通过安装DeepSeek和RAGFlow,并使用CherryStudi... 目录部署环境软件清单安装DeepSeek安装Cherry Studio安装RAGFlow设置知识库总

Linux搭建Mysql主从同步的教程

《Linux搭建Mysql主从同步的教程》:本文主要介绍Linux搭建Mysql主从同步的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux搭建mysql主从同步1.启动mysql服务2.修改Mysql主库配置文件/etc/my.cnf3.重启主库my

国内环境搭建私有知识问答库踩坑记录(ollama+deepseek+ragflow)

《国内环境搭建私有知识问答库踩坑记录(ollama+deepseek+ragflow)》本文给大家利用deepseek模型搭建私有知识问答库的详细步骤和遇到的问题及解决办法,感兴趣的朋友一起看看吧... 目录1. 第1步大家在安装完ollama后,需要到系统环境变量中添加两个变量2. 第3步 “在cmd中

本地搭建DeepSeek-R1、WebUI的完整过程及访问

《本地搭建DeepSeek-R1、WebUI的完整过程及访问》:本文主要介绍本地搭建DeepSeek-R1、WebUI的完整过程及访问的相关资料,DeepSeek-R1是一个开源的人工智能平台,主... 目录背景       搭建准备基础概念搭建过程访问对话测试总结背景       最近几年,人工智能技术

5分钟获取deepseek api并搭建简易问答应用

《5分钟获取deepseekapi并搭建简易问答应用》本文主要介绍了5分钟获取deepseekapi并搭建简易问答应用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需... 目录1、获取api2、获取base_url和chat_model3、配置模型参数方法一:终端中临时将加

基于Java实现模板填充Word

《基于Java实现模板填充Word》这篇文章主要为大家详细介绍了如何用Java实现按产品经理提供的Word模板填充数据,并以word或pdf形式导出,有需要的小伙伴可以参考一下... Java实现按模板填充wor编程d本文讲解的需求是:我们需要把数据库中的某些数据按照 产品经理提供的 word模板,把数据

Mycat搭建分库分表方式

《Mycat搭建分库分表方式》文章介绍了如何使用分库分表架构来解决单表数据量过大带来的性能和存储容量限制的问题,通过在一对主从复制节点上配置数据源,并使用分片算法将数据分配到不同的数据库表中,可以有效... 目录分库分表解决的问题分库分表架构添加数据验证结果 总结分库分表解决的问题单表数据量过大带来的性能

Java汇编源码如何查看环境搭建

《Java汇编源码如何查看环境搭建》:本文主要介绍如何在IntelliJIDEA开发环境中搭建字节码和汇编环境,以便更好地进行代码调优和JVM学习,首先,介绍了如何配置IntelliJIDEA以方... 目录一、简介二、在IDEA开发环境中搭建汇编环境2.1 在IDEA中搭建字节码查看环境2.1.1 搭建步

Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)

《Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)》:本文主要介绍Python基于火山引擎豆包大模型搭建QQ机器人详细的相关资料,包括开通模型、配置APIKEY鉴权和SD... 目录豆包大模型概述开通模型付费安装 SDK 环境配置 API KEY 鉴权Ark 模型接口Prompt

鸿蒙开发搭建flutter适配的开发环境

《鸿蒙开发搭建flutter适配的开发环境》文章详细介绍了在Windows系统上如何创建和运行鸿蒙Flutter项目,包括使用flutterdoctor检测环境、创建项目、编译HAP包以及在真机上运... 目录环境搭建创建运行项目打包项目总结环境搭建1.安装 DevEco Studio NEXT IDE