IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> (21)STM32——通过键盘控制舵机和LED灯(利用正点原子USMART实现) -> 正文阅读

[嵌入式](21)STM32——通过键盘控制舵机和LED灯(利用正点原子USMART实现)

目录

学习目标

运行结果

内容

调试过程

应用场景

特点

文件组介绍

配置步骤

?usmart_config.c

?main.c

系统命令

串口调试

代码

总结?


学习目标

????????本节我们来学习有关正点原子USMART的章节,简而言之,USMART是一种调试工具,具体的工作过程就是通过串口发送命令给单片机,然后单片机收到命令之后调用单片机里面对应的相关函数,并执行,同时支持返回结果。好了,就让我们来简单介绍一下USMART调试吧!

运行结果

通过键盘控制舵机

内容

调试过程

应用场景

????????开发过程中,经常需要修改函数入口参数,查看运行效果的情况下应用非常方便。不用多次下载代码,或者多次用JLINK调试。?

特点

  • 可以调用绝大部分用户直接编写的函数。
  • 资源占用极少(最少情况:FLASH:4K;SRAM:72B)。
  • 支持参数类型多(数字(包含10/16进制)、字符串、函数指针等)。
  • 支持函数返回值显示。
  • 支持参数及返回值格式设置。
  • 支持函数执行时间计算(V3.1版本新特性)。
  • 使用方便。

文件组介绍

  • usmart.c负责与外部互交等。
  • usmat_str.c主要负责命令和参数解析。
  • usmart_config.c主要由用户添加需要由usmart管理的函数以及头文件。
  • usmart.h和usmart_str.h是两个头文件,其中usmart.h里面含有几个用户配置宏定义,可以用来配置usmart的功能及总参数长度(直接和SRAM占用挂钩)、是否使能定时器扫描、是否使用读写函数等。但是在使用时记得加上头文件的位置,不然会报错,

配置步骤

  1. 将USMART包添加到工程中,头文件要包含到path。
  2. 添加需要调用的函数到usmart_config.c文件中。
  3. 主函数中调用usmart_dev.init函数初始化usmart。
  4. 即可通过助手发送命令,调用在usmart注册过的函数。

?usmart_config.c

?main.c

系统命令

  • ?:获取帮助信息
  • help:获取帮助信息
  • list:可用的函数列表
  • id:可用函数的ID列表
  • hex:参数16进制显示,后跟空格+数字即执行进制转换
  • dec:参数10进制显示,后跟空格+数字即执行进制转换
  • runtime 1,开启函数运行计时;0,关闭函数运行计时;

串口调试

????????调成这样就好了,记住要勾选发送新行和关联数字键盘,就能实现一样的效果了。

代码

#include "sys.h"
#include "delay.h"
#include "pwm.h"
#include "usmart.h"
#include "led.h"
#include "usart.h"
static u16 pwmval=8000;


//调用函数

void led_set(u8 sta)
{
	LED1=sta;
}

void pwm_up(void)
{
	pwmval+=100;
	TIM_SetCompare1(TIM14,pwmval);	//修改比较值,修改占空比
}  

void pwm_down(void)
{
	pwmval-=100;
	TIM_SetCompare1(TIM14,pwmval);	//修改比较值,修改占空比
}

int main(void)
{ 
	NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置系统中断优先级分组2
	uart_init(115200);
	delay_init(168);     //初始化延时函数
	usmart_dev.init(168);
	LED_Init();
	TIM14_PWM_Init(10000-1,84-1);
   	while(1)
	{	
// 这里面什么都没写哦!		
	}
}

总结?

????????本节的?USMART其实就是一个调试工具,所以就简单介绍一下使用,我们会使用这个调试工具就好,到后期就可以去研究一下原理。好了,本篇文章就介绍到这,希望对大家有所帮助,谢谢大家阅读了!

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-08-19 19:22:29  更:2022-08-19 19:23:24 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/18 12:57:01-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码