
单片机
jinxueHou专栏
当你还不能写出自己满意的程序时,你就不要去睡觉.
展开
-
volatile的作用
volatile的作用原创 2022-12-26 00:48:22 · 374 阅读 · 0 评论 -
MounRiver Studio软件工程创建
MounRiver Studio软件工程创建原创 2022-12-07 08:29:03 · 340 阅读 · 0 评论 -
有关MounRiver将灰色库的文件参与或排除编译
有关MounRiver将灰色库的文件参与或排除编译转载 2022-12-05 15:41:45 · 342 阅读 · 0 评论 -
CH573F用WCHISPToolV3.3软件配置PB11烧录程序后无法识别到USB的解决办法
CH573F用WCHISPToolV3.3软件配置PB11烧录程序后无法识别到USB的解决办法原创 2022-11-19 17:34:24 · 2853 阅读 · 1 评论 -
PKCS7填充标准代码--C语言实现
本文转自:https://blog.youkuaiyun.com/IOT2017/article/details/84141461在AES加密算法中,若加密数据不是16bytes的整倍数,则需要按照一定标准对数据进行填充,使其满足 DataSize % 16 = 0。本文是根据PKCS7标准进行数据填充。PKCS7 填充标准摘要PKCS5Padding和PKCS7Padding都是密钥的一种填充方式,即当密钥长度不足时的一种密钥填充方式。PKCS5Padding的填充方式为当密钥长度不足时,缺几位补几个0,转载 2021-03-10 17:37:08 · 2216 阅读 · 0 评论 -
编译器编译16bit单片机程序对数组data[0]=0x12,data[1]=0xBD,data[2]=0x00,data[3]=0x45转换成16进制整数12BD0045的报警
定义32bit一个变量,uint32_t decData = 0;刚开始时在16bit和32bit单片机中都这样写:decData = ( data[0] << 24) | (data[1] << 16) | (data[2] << 8 ) | data[3];问题发现:编译16bit单片机程序时,编译器一直报警,提示数据太大溢出;编译32bit单片机程序时,编译器不报警。疑问猜测:16bit单片机不支持这样的写法?程序改良:decDat.原创 2021-02-24 21:06:38 · 451 阅读 · 0 评论 -
时差法超声波流量计的原理
http://bbs.gongkong.com/d/201104/376106_1.shtmlhttps://wenku.baidu.com/view/668f85fbaef8941ea76e058e.html?from=related&hasrec=1转载 2019-11-22 19:36:27 · 3614 阅读 · 0 评论 -
单片机编程之联合体(union)的妙用
文章转载自:https://www.cnblogs.com/CodeWorkerLiMing/p/12045166.html在单片机软件编程中,结构体和枚举类型都很常用到,联合体相对来用的就比较少。那么结构体和联合体的区别到底在哪里?我们先列举一个结构体如下:struct test{ int office; char teacher[5];};struct test a;我们再定义一个联合体,如下:union test{ int office; ...转载 2021-01-17 17:08:59 · 4384 阅读 · 0 评论 -
数据通讯拆分包算法
在设备的通讯过程中,可能存在数据很长,导致数据无法一次性发送,或者长数据发送会丢失,为了解决这一问题,自己用C语言实现的一个简单的拆分包算法:#include <stdio.h>#include <stdint.h>#include <stdbool.h>#include<stdlib.h>#define dataTotalLen 100#define groupLen 7//拆分后一个数据包的长度int main(void...原创 2021-01-12 18:34:18 · 1152 阅读 · 0 评论 -
TM4C123G开发板学习记录(八)存储和安全管理(上)
转载原博客:https://blog.youkuaiyun.com/zhb_sh/article/details/104522529转载 2020-05-29 14:34:34 · 467 阅读 · 0 评论 -
对Keil在线烧录程序弹出“The firmware of the connected J-Link[SN:xxxxxxxx] does not support......"的问题解决
问题:最近下载并使用Keil_v5.29,在线烧录程序时出现“The firmware of the connected J-Link[SN:xxxxxxxx] does not support the following memory access:Read&@0x02000004 Flags:via AHB-AP”错误提示,如下图1。2、问题解决:解决方法,解压“Se...原创 2020-05-04 17:43:04 · 4684 阅读 · 7 评论 -
计算机存储的大小端模式解析
----------------------------------------------------------------------------------------------------------------先主要介绍了大小端问题的来源,作者应该是基于32位的机器来讲解的。在各种计算机体系结构中,对于字节、字等的存储机制有所不同,因而引发了计算机 通信领 域中一个很重要的问...转载 2021-10-17 09:42:48 · 255 阅读 · 0 评论 -
定时器0工作方式2,定时1s
定时器0工作方式2,定时1s原创 2017-01-11 12:27:02 · 7867 阅读 · 0 评论 -
学习《FreeRTOS源码详解与应用开发》笔记
1、注意:任务函数内部定义局部变量的内存大小不能大于此任务堆栈内存的大小。2、FreeRTOS定义任务优先级时,0优先级(空闲中断占用)和最高优先级31级(定时器占用)不能用。3、用start_task创建任务task1和task2时,start_task只创建一次就行,不用多次创建,所以创建完start_task后,就可以把start_task任务删除,用vTaskDelete()函数删...原创 2018-08-26 00:02:07 · 13560 阅读 · 0 评论 -
LCD无字库--单片机字库存储
本文转自:http://www.rationmcu.com/elecjc/356.html学完这篇文章,你将会使你的单片机显示系统中加入中文显示的功能。1.导言和单片机搭配的显示器,有12864、TFT、OLED等。在有些系统中,我们需要显示汉字,可以购买汉字芯片,或者购买带汉字显示的显示器,当然,也可以自己做字库。这里我们介绍一种自己做字库的方法,成本2元人民币左右。2.汉字...转载 2018-09-28 10:54:08 · 8469 阅读 · 0 评论 -
Keil编译报错:Cannot open include file: 'stdbool.h': No such file or directory问题解决
Keil编译出现报错:Cannot open include file: 'stdbool.h': No such file or directory,或者出现Error: L6411E: No compatible library exists with a definition of startup symbol __main报错,原因是在电脑上同时装了keil和ADS两个编译器,需要添加...原创 2018-10-22 10:53:28 · 20740 阅读 · 4 评论 -
stm32中使用#pragma pack(非常有用的字节对齐用法说明)
文章转自:https://www.cnblogs.com/King-Gentleman/p/5297355.html转载 2018-10-20 12:35:00 · 2020 阅读 · 0 评论 -
KEIL编译stdarg处理机制遇到incorrect use之类的问题
文章转自:https://blog.youkuaiyun.com/chengdong1314/article/details/74625528SYD8801是一款低功耗高性能蓝牙低功耗SOC,集成了高性能2.4GHz射频收发机、32位ARM Cortex-M0处理器、128kB Flash存储器、以及丰富的数字接口。SYD8801片上集成了Balun无需阻抗匹配网络、高效率DCDC降压转换器,适合用于可穿...转载 2018-10-29 11:22:49 · 1172 阅读 · 0 评论 -
按键处理技巧(状态机)
转载原文:https://blog.youkuaiyun.com/guohengsheng3882/article/details/78506314按键是单片机最常用的输入设备了。按下接通,松开分断,本来是 很简单的事情,由于现在我们使用的单片机实在是一个非常高速的装置,由于它的高速,使得本来不被人们重视的机械触点在接通和断开瞬间的多次快速弹跳问题变 得突出起来。常规的方法就是一旦发现按键动作,就人为加...转载 2018-12-25 00:03:50 · 3518 阅读 · 1 评论 -
学习正点原子讲解FreeRTOS中断管理心得和cortex-M3权威指南笔记
1、一个任务恢复运行:(1)恢复一个任务的运行:将一个任务从挂起态恢复到就绪态,只有通过函数vTaskSuspend()设置为挂起态的任务才能使用vTaskResume()恢复,函数原型为void vTaskResume(TaskHandle_t xTaskToResume),xTaskToResume要恢复任务的句柄。(2)中断服务函数中恢复一个任务的运行:用于中断服务函数中恢复一个任务...原创 2018-08-25 23:33:45 · 2156 阅读 · 0 评论 -
电源DC-DC芯片
1、 FR8205AS6CTR(Vin:4.5V-18V,Vout:Adjustable Output Voltage Down to 0.6V,3A Output Current)Description The FR8205 is a synchronous step-down DC/DC converter that provides 4.5V to 18V input vol...原创 2018-08-10 17:19:18 · 11561 阅读 · 0 评论 -
中断优先级
中断优先级有两种,一种是抢占优先级,一种是固有优先级,先介绍抢占优先级。中断抢占优先级:IP 这个寄存器的每一位,表示对应中断的抢占优先级,每一位的复位值都是 0,当我们把某一位设置为 1 的时候,这一位的优先级就比其它位的优先级高了。比如我们设置了 PT0位为 1 后,当单片机在主循环或者任何其它中断程序中执行时,一旦定时器 T0 发生中断,作为更高的优先级,程序马上就会跑到转载 2017-03-21 19:49:33 · 9690 阅读 · 0 评论 -
联合体在单片机中的应用
转自:http://baike.baidu.com/item/%E8%81%94%E5%90%88%E4%BD%93?fr=aladdin联合体在单片机中的应用 单片机中经常会遇见分离高低字节的操作,比如进行计时中断复位操作时往往会进行 (65535-200)/256,(65535-200)%256这样的操作,而一个除法消耗四个机器周期,取余也需要进行一系列复杂的运算,如果在短时间内需要进行很多转载 2017-03-09 17:20:54 · 870 阅读 · 0 评论 -
4*4矩阵按键控制数码管显示0-F
4*4矩阵按键原理图如下: 根据原理图,汇编程序代码如下: 4*4矩阵按键控制数码管显示0-F。刚学单片机汇编,是根据单片机C语言思路来写的,写的不好,如果发现有错误或会导致程序跑飞的,麻烦帮我指出,谢谢!原创 2017-01-22 17:51:56 · 13920 阅读 · 2 评论 -
8个独立按键控制LED
8个独立按键控制LED原创 2017-01-21 23:03:46 · 4547 阅读 · 0 评论 -
简单的按键控制LED
简单的按键控制LED原创 2017-01-04 00:21:59 · 686 阅读 · 0 评论 -
定时器0工作方式1,定时1s
定时器0工作方式1,定时1s。原创 2017-01-11 12:25:32 · 12964 阅读 · 4 评论 -
x VDC(x=3、5、6、8、12、24、48)继电器的引脚连接方式
上图继电器原理图对应的PCB封装如下: 此继电器(5脚)包含:3V,5V,6V,8V,12V,24V,48V原创 2016-12-26 14:41:37 · 2122 阅读 · 0 评论 -
按键控制LED实现启动、停止按钮
按键控制LED实现启动、停止按钮原创 2017-01-04 00:24:12 · 3065 阅读 · 0 评论 -
流水灯实例,点亮发光管LED并闪烁(查表操作)
功能:流水灯实例,点亮发光管LED并闪烁原创 2017-01-02 22:48:02 · 3000 阅读 · 0 评论 -
RTC时间在LCD上显示需注意的问题
unsigned char displayTime[2];rtc->day= ReadRtc();displayTime[0]=0x30+(rtc->day/16);displayTime[1]=0x30+(rtc->day%16);DisPlayTime(1,0,displayTime);BCD码转十进制:rtc->day/16;十进制转ASCII码:0x30+(rtc->day%1原创 2016-12-05 00:22:13 · 3004 阅读 · 0 评论 -
解决MPLAB X IDE的文件注释出现乱码的问题
在Encoding选项中选择“GB2312”,再单击“Apply”,再单击“OK”。原创 2017-04-09 15:01:51 · 8822 阅读 · 0 评论 -
单片机的几个周期
单片机的几个周期(1)时钟周期。也称为震荡周期,定义为时钟频率的倒数(可以这样来理解,时钟周期就是单片机外接晶振的倒数, 如12MHz的晶振,它的时钟周期就是1/12us)它是单片机中最基本的、最小的时间单位;在一个时钟周期内,CPU 仅完成一个最基本的动作。对于某个单片机来讲,若采用了1MHz的时钟频率,则时钟周期就是1us;若采用4MHz ...原创 2017-04-17 17:33:47 · 7876 阅读 · 0 评论 -
Program Size: Code=x RO-data=x RW-data=x ZI-data=x 的含义
Program Size: Code=x RO-data=x RW-data=x ZI-data=x 的含义Code(代码): 程序所占用的FLASH大小,存储在FLASH.RO-data(只读的数据): Read-only-data,程序定义的常量,如const型,存储在FLASH中。RW-data(有初始值要求的、可读可写的数据): Read-write-data,已经被初始化的...转载 2017-07-11 16:27:20 · 3272 阅读 · 0 评论 -
STM32 BOOT0连接不当造成死机
一下内容转自:http://www.360doc.com/content/14/0326/10/6624919_363817465.shtmlSTM32的三种启动方式依靠BOOT0和BOOT1两个引脚的电平来决定,ST官方推荐的是串联10k电阻然后在接高电平或接地。理论上这两个引脚只是在启动的时候用来选择启动方式,启动结束后对程序运行没有影响。在一个项目中采用了转载 2017-06-24 10:58:30 · 1727 阅读 · 2 评论 -
STM32F103的PC13、PB3和PB4定义为普通IO口使用
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////原创 2017-07-11 09:31:09 · 11196 阅读 · 0 评论 -
多个18B20组成测温系统
多个18B20组成测温系统http://www.ndiy.cn/thread-6193-1-1.html(出处: 中国电子DIY之家)转载 2017-06-29 21:15:38 · 1338 阅读 · 0 评论 -
串口发送一帧数据时,两个字节的间隔时间是多少?
串口发送一帧数据时,两个字节的间隔时间是多少?原创 2017-03-21 17:35:56 · 34406 阅读 · 3 评论 -
示波器测485串口波特率的使用方法
http://blog.youkuaiyun.com/lianxue1986/article/details/50385384转载 2017-05-10 13:16:07 · 4107 阅读 · 0 评论 -
CC2530 Zigbee在IAR在线调试出现错误提示:“Fatal error:Unknown exception indriver(#E1) Session aborted”
问题: CC2530 Zigbee在IAR在线调试出现错误提示:“Fatal error:Unknown exception indriver(#E1) Session aborted”解决: 按仿真器SmartRF04EB上的复位键“Reset”即可。原创 2017-05-27 23:43:02 · 18658 阅读 · 2 评论