C
江邺英
这个作者很懒,什么都没留下…
展开
-
对字(Word)、半字(Half-Word)、字节(Byte)的概念说明
对字(Word)、半字(Half-Word)、字节(Byte)的概念说明如下:1.字(Word):在ARM体系结构(32位机)中,字的长度为32位,而在8位/16位处理器体系结构中,字的长度一般为16位。2.半字(Half-Word):在ARM体系结构(32位机)中,半字的长度为16位,与8位/16位处理器体系结构中字的长度一致。3.字节(Byte):在ARM体系结构(32位机)和8位/16位处理器体系结构中,字节的长度均为8位。 单纯问一个字占多少字节是没有意义的,因为字的大小取决转载 2020-12-10 10:02:46 · 1209 阅读 · 0 评论 -
时间获取相关函数mktime()、gmtime()
时间获取相关函数mktime()、gmtime()mktime()函数原型:time_t mktime(struct tm *timeptr);函数功能:将时间转换为自1970年1月1日以来逝去时间的秒数,发生错误时返回-1。也就是是把获取的时间转换成时间戳。gmtime()函数原型:struct tm *gmtime(const time_t *timeptr)函数功能:返回tm结构的格林尼治时间(GMT)其中的tm结构体定义如下: 头文件:time.hstruct tm { i原创 2020-11-26 18:07:56 · 4410 阅读 · 0 评论 -
在一次工程中,遇到了一个奇怪的格式转换
是这样的,定义了一个时间,格式为BCD,7个字节。长这样:0x20 0x20 0x11 0x24 0x17 0x15 0x20然后呢,国标上规则了一个东西,里面也有时间,格式为HEX。长这样:0x7E4 0xB 0x18 0x11 0xF 0x14这时,就需要把前面的时间格式转换成后面的时间格式。我这里想到了两种思路:1.BCD -> SRTINGS --> DEC相当于前面的时间就是十六进制,先把十六进制转成字符串,再转成十进制就可以了,单片机内存储的是十六进制,输出十进原创 2020-11-24 17:30:47 · 90 阅读 · 0 评论 -
在keil里,遇到的奇奇怪怪的问题合集
keil编译器问题及解决合集①Using Compiler 'V5.06 update 6 (build 750)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin'②JLink Info: Reset: Reset device via AIRCR.SYSRESETREQ.③error: L6235E: More than one section matches selector - cannot all be FIRST/LAST.问题及解决合集这篇主要是写,在使用keil作为原创 2020-09-12 23:36:46 · 12455 阅读 · 1 评论 -
Keilerror: No section matches selector - no section to be FIRST/LAST.原因及解决方法
L6236E: No section matches selector - no section to be FIRST/LAST.Keil打开xxxxxx.sct文件,如下图所示:原因与处理没有引入启动文件,将启动文件startup_stm32xxxxxx.s添加进工程中:再在魔法棒Options of Target->Device,选择与启动文件相同的芯片型号。在Options for Target >C/C++>Define中写下USE_HAL_DRIVER,STM32原创 2020-08-25 18:07:16 · 6974 阅读 · 2 评论 -
mdk仿真进入EXPORT SysTick_Handler [WEAK] B .后,无法跳出解决方法
在用mdk仿真调试全速运行后,不能进到断电处,于是停止发现程序卡死在启动文件startup_stm32xxxxx.s的SysTick_Handler中。startup_stm32l063xx.s撤销:Ctrl/Command + Z重做:Ctrl/Command + Y加粗:Ctrl/Command + B斜体:Ctrl/Command + I标题:Ctrl/Command + Shift + H无序列表:Ctrl/Command + Shift + U有序列表:Ctrl/Command原创 2020-07-28 10:46:18 · 1922 阅读 · 0 评论 -
一些格式的转换,收藏起来
Dec To BCDuint32_t DectoBCD(uint32_t dec){ int8_t i; uint32_t temp, ret; uint8_t bcd[4] = {0}; for (i = 3; i >= 0; i--) { temp = dec%100; bcd[i] = ((temp/10)<<4) + ((temp%10...原创 2020-05-18 15:42:00 · 389 阅读 · 0 评论 -
keil编译问题: Error: L6200E: Symbol g_DataPacketID multiply defined (by gprs.o and task.o)
keil编译出现的ERROR问题描述原因解决问题描述在task.c中,为了使用在gprs.c中声明的变量,包含头文件#include “gprs.h”,编译出现error。 Error: L6200E: Symbol g_DataPacketID multiply defined (by gprs.o and task.o)原因两个.c文件都调用gprs.h的变量,导致gprs.h中的...原创 2020-03-27 18:46:21 · 1094 阅读 · 0 评论 -
strcpy、memcpy函数的实现
strcpychar *mystrcpy(char *dest,const char *src){ if((dest==NULL)||(src==NULL)) return NULL; char *sdest=(char *)dest; char *ssrc=(char *)src; while((*sdest++=*ssrc++)!='\0') return dest;...原创 2019-10-03 16:16:14 · 138 阅读 · 0 评论