单片机
文章平均质量分 76
霍宏鹏
霍宏鹏,主要从事物联网开发,嵌入式系统设计。
展开
-
GD32精确延时和时间戳
platform_systick.h#ifndef __PLATFORM_SYSTICK_H__#define __PLATFORM_SYSTICK_H__#include <stdint.h>uint32_t get_systick_us(void);uint32_t get_systick_ms(void);void delay_ms(uint32_t ms);void delay_us(uint32_t us);void systick_deinit(void).原创 2021-03-06 17:24:00 · 9515 阅读 · 20 评论 -
在KEIL中合并两个HEX文件
https://www.keil.com/support/docs/2666.htmGENERAL: MERGING TWO APPLICATIONS INTO ONE INTEL HEX FILEInformation in this article applies to:C51 All Versions C166 All Versions C251 All Versions MDK-ARM any VersionQUESTIONI'm developing a bootloade原创 2020-10-28 18:33:22 · 3748 阅读 · 0 评论 -
慢衰减和快衰减
简单理解慢衰减相当于加在电机(感性原件)两端电压消失,将电机两端正负短接。快衰减相当于加在电机(感性原件)两端电压消失,将电机两端快速接上与驱动电流相反的电流。摘自网络现在的步进电机细分的方式基本上都是电流细分法,将相电流按正弦波相切得到的电流点作为细分点。在相电流达到细分点时就要控制电流进行控制衰减,否则得话就会出现角度过冲也就无法准确的停留在细分角度上。电机的速度不同选择的衰减模式不同。高速时快衰减、低速时慢衰减。高速时慢衰减就会出现震动大、噪音高等问题。低速时选择快衰减就会导致电.原创 2020-09-24 14:13:14 · 4988 阅读 · 1 评论 -
基于GD32单片机定时器的软件定时器实现-可移植
1 概述 在单片机系统中,会有几个硬件定时器。在程序需要延时或者定时功能的时候需要使用定时器,但是在整个单片机里面定时器的数量是有限的。不可能每一个功能都去使用一个硬件定时器。对于时间要求不是很严格的场合,可以多个应用层功能共享使用一个定时器。所以这篇文章是基于一个硬件定时器写的一个软件定时器框架,可以移植到任何带有32位,16位,8位定时器的单片机中。本程序在GD32F350上面已经测试完成。有需要的朋友们可以移植到自己的平台上。可以在gitee上下载源码:https://gitee.com/..原创 2020-09-18 11:06:57 · 2572 阅读 · 1 评论 -
基于AVR的NEC红外解码
1 摘要 基于AVR的NEC格式红外解码解码。主要是用通过定时器和外部中断两个外设完成解码功能,全中断方式解码,提高MCU利用率。程序代码的开发环境为IAR for avr。2 头文件 platform_ir.h#ifndef __PLATFORM_IR_H__#define __PLATFORM_IR_H__#include <iom88p.h>#include <intrinsics.h>#include <stdint.h>/* [N.原创 2020-08-08 10:26:22 · 524 阅读 · 0 评论 -
已知经纬度和半径,计算最大经纬度范围
1. 已知经纬度,计算两点距离#include <math.h>#define PI 3.1415926535898#define EARTH_RADIUS_KM 6...原创 2019-05-28 15:31:25 · 2666 阅读 · 0 评论 -
可变参数应用在调试信息输出
宏定义的时候可变参数可以用__VA_ARGS__传递,但是只有C99编译器支持#define debug_printf(...) \{\ char dataOut2[256];\ sprintf( dataOut2, __VA_ARGS__);\ uart_out(( uint8_t * )dataOut2, strlen( dataOut2 ));\}原创 2017-06-06 15:33:14 · 406 阅读 · 0 评论 -
GD32 USART 高级编程 让你的串口不在阻塞发送
GD32 STM32 USART 单片机 串口原创 2017-03-03 11:10:28 · 8502 阅读 · 2 评论 -
GD32 模拟IIC程序驱动
单片机 IIC程序 IIC驱动 模拟IIC GD32 STM32 IIC原创 2017-03-03 11:04:42 · 4691 阅读 · 0 评论 -
cc1101 高级驱动程序
cc1101 驱动程序 cc1101 代码 cc1100 GD32 STM32原创 2017-03-03 10:58:38 · 4893 阅读 · 8 评论 -
按键短按长按连发双击
通过单片机IO口定时器,实现按键的短按 长按 双击 连发等使用功能。此代码只需要简单的移植就可以应用到其他单片机上原创 2017-03-03 09:22:51 · 4627 阅读 · 9 评论 -
ucos 在GD32上的移植笔记
2017-03-01 霍宏鹏 GD32 移植及ucos 笔记 ucos Version : V2.86基础版本是基于ucos官方网站ST M3内核的 MCU的版本。移植时,基础版本最好不要从0开始,如果从零开始将会导致很多bug,并且将大大增加调试时间,带来不必要的时间浪费。由于官方版本是基于IAR的开发环境开发的,这里我们的开发环境是ke原创 2017-03-01 17:41:07 · 3019 阅读 · 1 评论 -
单片机的状态机介绍
单片机的葵花宝典霍宏鹏著目录第1章 单片机初试牛刀 11.1 一个LED闪烁的故事 11.2 两个LED同时闪烁的故事 11.3 两个LED不同时闪烁的故事 11.4 思考题 3第2章 状态机的通俗解释 32.2 状态机具体化 4第3章 状态机在单片机上的应用 53.1 代码实现步骤 53.2 应用代码详解 5第4章 简单的举例 8...原创 2016-05-24 11:50:24 · 20312 阅读 · 11 评论