嵌入式系统程序设计基础
文章平均质量分 84
直至植
直至植
展开
-
STM的PWM与DAC学习
文章目录任务要求PWM应用例程编写DAC应用例程编写任务要求本人所用STM32为野火家F103指南者烧录用具ST-LINK代码编写为KILE5音频软件为AU用STM32F103输出一路PWM波形,建议采用定时器方法。野火和网上大多数资源采用此方法,有完整源码。用示波器观察输出波形。参考网址如:https://www.cnblogs.com/zhj868/p/12640717.html用STM32F103的DAC功能完成以下波形输出,用示波器观察波形,并用蜂鸣器或手机耳机收听输出声音效果原创 2021-01-03 20:07:49 · 479 阅读 · 0 评论 -
STM32汇编程序设计基础
文章目录任务要求汇编程序的简单工程工程新建源文件配置代码调试代码调试任务要求一. 请说明STM32的三种Boot模式的差异,并在之前第11-12周“C语言各种变量的存储地址”作业代码基础上,研究至少两种boot模式下,代码下载(烧录)运行后所在的地址位置,与理论对比验证。二. 在Keil下完成一个汇编程序的编写,学习动态调试变量;并注意观察最终生成 hex文件的各段的大小,以及Hex文件前8个字节内容,解释其含义。三. 在上面Keil 汇编基础上,用汇编程序完成 每间隔1秒钟闪烁一次LED的程序原创 2020-12-29 09:46:11 · 863 阅读 · 0 评论 -
AHT温湿度检测的STM32最小系统PCB
文章目录AHT封装AHT PCB封装AHT SCH封装AHT 元件封装AHT原理图添加三级目录AHT封装AHT PCB封装1.打开之前设计好的stm32f103c8t6工程,再打开PCB封装库 .PcbLib 选择添加Add如下:2.修改元件名为AHT20,如下:参考《AHT20产品手册a2.pdf》,查看AHT20的封装图:3.点击 “ 焊盘 ” ,按 tab 键调出属性,层设为 Top Layer,如下:焊台形状为方形(Rectangular)、长(0.55mm)、宽(0.4mm),原创 2020-12-24 23:21:26 · 561 阅读 · 0 评论 -
STM32 SPI协议接口下的OLED屏显示
文章目录任务要求SPI协议接口例程改写任务要求练习通过SPI总线实现OLED屏幕显示。显示自己的学号和姓名。本人所用开发板:野火STM32F103指南者;代码编写烧录:KEIL5所用协议:SPI;所用例程来源:http://www.lcdwiki.com/zh/0.96inch_SPI_OLED_ModuleSPI协议接口SPI协议(SerialPeripheralInterface),即串行外围设备接口,是一种高速全双工的通信总线。基本通信过程:SPI接口位置:SPI引脚:MI原创 2020-12-21 18:29:12 · 6463 阅读 · 3 评论 -
STM32基于I2C协议的AHT20温湿度测量
文章目录任务要求软硬件I2CAHT20测温湿度总结任务要求学习I2C总线通信协议,完成基于I2C硬件协议的AHT20温湿度传感器的数据采集,并将采集的温度-湿度值通过串口输出。1)解释什么是“软件I2C”和“硬件I2C”;2)编程实现:每隔2秒钟采集一次温湿度数据,并通过串口发送到上位机(win10)。软硬件I2CI2C Bus(Inter-Integrated Circuit Bus) 最早是由Philips半导体(现被NXP收购)开发的两线时串行总线,常用于微控制器与外设之间的连接。原创 2020-12-20 16:55:19 · 1572 阅读 · 4 评论 -
Ardunio下的STM32串口通信
文章目录任务要求Ardunio下的STM32串口通信软件准备编译烧录标准库函数与HAL库函数的stm32编程方式差异国人版的MCU集成开发平台 stduino IDE总结任务要求安装 Ardunio IDE 和相关软件支持库,在Ardunio 完成STM32板子的串口通信程序:1)持续向串口输出“Hello world!”;2)当接收到“stop!”时,停止输出。以实例程序(比如串口通信),分析基于标准库函数与基于HAL库函数的stm32编程方式的差异。对于国人版的MCU集成开发平台, st原创 2020-12-13 14:59:49 · 310 阅读 · 0 评论 -
基于STM32的FreeRTOS移植——多任务程序
文章目录任务要求FreeRTOS移植简述使用多任务管理实现任务要求在STM32下完成一个基于FreeRTOS的多任务程序,执行3个周期性task。task1,每间隔500ms闪烁(变化)一次LED;task2,每间隔2000ms,向串口发送一次指令数据“helloworld!";task3,每间隔5000ms,从AHT20采集一次温湿度数据(不考虑硬件情况,仅写出整个多任务框架模拟代码)。FreeRTOS移植简述RTOS(Real Time Operating System 实时操作系统原创 2020-11-30 19:12:19 · 2032 阅读 · 6 评论 -
STM32的USART串行口通讯
文章目录寄存器与固态库STM32的USART窗口通讯程序寄存器与固态库基于寄存器与基于固件库的stm32 LED流水灯例子的编程方式差异比较:在LED的点亮中,从寄存器映射开始,把内存跟寄存器建立起一一对应的关系,然后操作寄存器点亮 LED,再把寄存器操作封装成一个个函数。之后调用库函数点亮流水灯。使用函数来控制 LED 灯与之前直接控制寄存器已经有了很大的区别:main 函数中先定义了一个 GPIO 初始化结构体变量 GPIO_InitStructure,然后对该变量的各个成员按点亮 LED 灯所原创 2020-11-29 19:28:01 · 979 阅读 · 0 评论 -
利用原理图绘制PCB板
文章目录原理图PCB的绘制总结原理图原理图如下,功能为点亮LED灯。PCB的绘制1.在原理图的工作路径下新建一个PCB文件,如下:2.将原理图导入PCB板,如下:注意:此时是在原理图的页面下点击工具。3、依次在弹出的页面进行点击,如下:4、生成网格图,如下:5、再次点击最底层最后的物料生成表项,如下生成物料图:6、开始布线,由于电路图小,所以我选择的是自动布线,如下:7、布线完成,如下:8、开始敷铜,如下:注意:此时是在最顶层,需要将镀铜设置为接地。9原创 2020-11-28 15:44:13 · 3076 阅读 · 0 评论 -
AD18绘制STM32最小系统原理图
文章目录软件准备STM32最小系统电路图1、查找STM32最小系统原理图样式2、新建工程3、添加元件软件准备Altium_Designer_Beta_18.1.7已安装好。STM32最小系统电路图1、查找STM32最小系统原理图样式进入浏览器,搜索该网址https://www.st.com/content/st_com/en.html进入后,选择查看产品,点击上方选择栏,点击选择3×3的图标然后选择”Microcontrollers & Microprocessors”再次点击选择原创 2020-11-07 16:22:16 · 3847 阅读 · 0 评论 -
Proteus18.04仿真stm32流水灯
文章目录前期准备STM32源代码准备仿真电路图准备总结前期准备已安装protues8.90、keil5STM32源代码准备工程名有效命名为LED2,后自动弹出对于芯片的选择,此时选择芯片STM32F103RB,之后点击“OK"选择芯片完成自动弹出如下页面,我们再进行选择,对相应选项进行勾选,之后点击“OK"工程创建完毕,开始创建源文件:代码如下:#include "stm32f10x.h"GPIO_InitTypeDef GPIO_InitStructure;void delay_m原创 2020-11-06 15:29:08 · 997 阅读 · 0 评论 -
Vscode对C/C++可视化的代码跟踪调试
文章目录可视化的代码跟踪调试1、安装Visual Studio Code2、用vscode编译调试C\C++总结可视化的代码跟踪调试ubantu18.04的环境下,在命令行工具gdb调试基础上,利用可视化调试前端软件Visual Studio Code,(后端依然依赖gcc、gdb)进行程序代码的跟踪查错,提高工作效率。1、安装Visual Studio Code进入应用商店之后,搜索Visual Studio Code:之后点击Visual Studio Code图标开始下载:等一会儿,安原创 2020-11-06 12:42:28 · 4777 阅读 · 0 评论 -
ubantu下的opencv安装与简单操作
这里写目录标题GDB调试二级目录三级目录GDB调试1.提前编写一个GDB.C文件,功能为输入一个数,然后倒序输出;代码如下:#include <stdio.h>void ShowRevertNum(int iNum){ while (iNum > 10) { printf("%d", iNum % 10); iNum = iNum / 10; } pri原创 2020-10-30 00:31:20 · 145 阅读 · 0 评论 -
ubantu下光标库(curses)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码原创 2020-10-15 11:09:24 · 465 阅读 · 0 评论 -
gcc编译工具常用命令以及汇编语言
文章目录一、Linux GCC常用命令二、GCC编译器背后的故事二、使用步骤1.引入库2.读入数据总结一、Linux GCC常用命令1 新建一个文件test,代码如下:#include <stdio.h> int main(void) { printf("Hello World!\n"); return 0; }直接编译指令如下: gcc test.c -o test实际上编译过程有四个阶段,即预处理(也称预编译,Preprocessing)、编译 (Compilati.原创 2020-10-15 16:27:04 · 8745 阅读 · 0 评论 -
ubantu可执行程序的组装
文章目录一、用gcc生成静态库和动态库二、静态库.a与.so库文件的生成与使用三、自主设计一个静态库的链接总结一、用gcc生成静态库和动态库(1)编辑生成程序 hello.h、hello.c 和 main.chello.h:#ifndef HELLO_H #define HELLO_H void hello(const char *name); #endif //HELLO_Hhello.c:#include <stdio.h> void hello(const ch.原创 2020-10-13 23:55:32 · 287 阅读 · 0 评论 -
ARM开发环境入门—STM32实例1
文章目录一、一个STM32简单程序编译(LED闪烁)1.准备工作2.工程文件3.编译程序4.仿真调试5.结束二、一个51程序设计和仿真1.引入库2.读入数据总结一、一个STM32简单程序编译(LED闪烁)1.准备工作安装相关MDK软件:MDK相关软件官网下载地址:http://www.keil.com/download/product安装STM32 pakeSTM32 pake下载地址:https://www.keil.com/dd2/pack/2.工程文件(1)、运行keil5进入..原创 2020-10-08 11:10:12 · 397 阅读 · 0 评论 -
Linux—ubantu系统编写C程序实例1
文章目录前言一、工具二、功能需求三、gcc实现1.写入main.c、sub.h2.gcc编译实现四、makefile实现1.已写入main.c、sub.h2.删除gcc命令行方式编译的.o文件3.makefile编译实现五、Visual编译程序总结前言1.利用gcc命令行方式对C程序文件编译并运行; 2.利用makefile对C程序文件编译并运行。一、工具虚拟机软件Vmware、Ubuntu 16.04De..原创 2020-09-23 23:42:58 · 253 阅读 · 0 评论