- 博客(109)
- 资源 (32)
- 收藏
- 关注
原创 C语言字节对齐及__attribute__((aligned(n))) 与 #pragma(pack(n))的作用
C语言字节对齐及__attribute__((aligned(n))) 与 #pragma(pack(n))的作用
2015-11-25 09:32:31 3032
原创 matlab 警告: 转义字符 ‘\M‘ 无效
警告: 转义字符 '\M' 无效。有关支持的特殊字符,请参阅 'doc sprintf'。警告: 更新 Legend 时出错。BLAS 加载错误:安装maltlab使用legend时提示如上错误。解决办法:在电脑环境变量中找到以前安装时添加的一些关于MATALB的变量,然后删除,例如path中,BLAS_VALUE变量等。统统删除,重启就正常了...
2022-03-31 10:39:17 4095
原创 KEIL开启语法自动补全时困顿问题
KEIL开启语法自动补全时困顿问题keil终于出了语法补全,但是开启后如果找不到对应的变量或者函数keil就会卡住好久回不来。解决办法:keil的补全搜索与电脑上的杀毒软件保护会有冲突,导致keil的搜索被卡住,关掉杀毒软件,各种卫士等等,就可以。...
2020-12-02 10:08:38 1136 1
原创 电脑COM口号越来越大,如何删除的办法
使用USB转TTL设备的增多,电脑上的COM口号也在一直增加,当前面很多号不使用时如何删除。方法一:1,打开设备管理器或者开始菜单输入devmgmt.msc并打开。2,在“查看”中选中“查看隐藏设备”,此时所有的串口设备就都显示出来了。3,灰显的是使用过当前不在电脑上的串口设备,选中后右键删除设备,不要删除软件驱动,便于下次使用相同类型设备时快速识别。...
2018-04-19 17:28:07 4129
转载 将GPS获得的UTC时间转换成本地时间的方法
通过GPS模块可以得到UTC时间,但如何将UTC时间转换成你所在地的本地时间呢?下面介绍一种自己曾经使用过并得到过验证的计算方法:前提:已知UTC时间,经纬度一、首先通过经纬度来计算出所在地时区// 计算时区函数,根据经度来计算static int calculateTimezone(double lat,double lon){ int a,b,c,timezone;...
2018-03-09 11:07:54 10874
原创 KEIL获取工程编译时间
可以使用KEIL内置的__DATE__ 和 __TIME__ 宏来实现这个功能参考范例:unsigned char code DataStr[]=__DATE__;unsigned char code TimeStr[]=__TIME__;这样,编译后TimeStr的字符串正好是编译的当前时刻,相当于unsigned char code TimeStr[]="09:12:04"
2017-01-13 17:34:50 14256 1
原创 修复WIN10下Prolific USB-to-Serial Comm Port驱动无法使用
买的PL2303芯片的USB转串口工具,结果在WIN10本本上安装的驱动带有黄色小叹号,无法正常使用。网上找了一番,找到可以使用的驱动,可是安装后过一会又自动变成黄色小叹号了。究其原因是WINDOWS又自动更新了驱动,有一个解决办法是关闭WINDOWS自动安装更新,可是感觉WIN10的自动安装驱动还不错,关闭后接一些外设就不能自动安装驱动了。找了一会发现有一个驱动回滚,试了一下,发现竟然好使,,嘿
2016-11-27 23:09:34 68642 17
转载 无符号数减法溢出问题
作者:gfree.wind@gmail.com博客:blog.focus-linux.net linuxfocus.blog.chinaunix.net今天再次遇到一个C语言的细节问题,并且发现自己以前的理解不正确,然后总结了一下,写出本文。请看下面的代码:#include stdlib.h>#include stdio.h>
2016-10-29 19:31:02 16096 1
转载 减法变加法-计算机中的补码表示
原码就是原来的表示方法反码是除符号位(最高位)外取反补码=反码+1以前学习二进制编码时,老师讲了一堆堆的什么原码啊反码啊补码啊xxxx转换啊,还有负数的表示方式啊 总是记不零清,终于从网上找到了一种比较好的讲解方式,保存再share一下,不过为了系统化讲解,又找来了一些编码的基础知识,如果只想看负数编码记忆法,请跳转到1.如果你不知道二进制怎么编码,请继续,否则请跳
2016-10-29 19:29:46 2017
转载 KEIL MDK输出map文件分析
前面写了一篇文章对__main函数的执行过程做了一个粗略的跟踪描叙,对一个烧录了程序的STM32开发板从启动复位到进入用户main函数的过程有了一个大概的了解,但是有很多问题感觉还是模模糊糊,因此,今天又把KEIL MDK编译、链接后生成的map文件简单分析一下,加深对链接器、嵌入式系统可执行映像特点的了解。、一、文件分析流程1、第一部分:Section C
2016-10-24 22:45:58 1085
转载 Beyond Compare比较文件时,相同的文件也显示为红色(有差异)
以前代码比较工具一直用的是AJARX,不过那个好像是要付费的。后来用了WinMerge。感觉WinMerge不是特别习惯,而且感觉它比较的时候傻得很,后来发现了一些设置,用起来还可以。现在有哥们推荐用Beyond Compare,毕竟我最喜欢的AJARX是收费的嘛。在比较文件夹的时候,相同的文件有可能也会被标为红色。然后点击进去一看发现它们都是一样的,再退出来,就变黑了。
2016-03-16 14:09:41 4949 2
转载 float与double的范围和精度
float与double的范围和精度1 范围float和double的范围是由指数的位数来决定的。float的指数位有8位,而double的指数位有11位,分布如下:float:1bit(符号位)8bits(指数位)23bits(尾数位)double:1bit(符号位)11bits(指数
2015-11-30 19:24:08 6521
原创 C语言的负数扩充
开发过程中遇到负数short强制转换为int出错,遂细细琢磨了一下1,C语言移位操作正数左移,右侧补充零。正数右移,左侧补充零。负数左移,右侧补充零。负数右移,左侧补充符号位1。2,C语言类型转换提权正数unsigned shrot的0xABCD,转换为unsigned int型,结果是0x0000ABCD。负数short的0xABCD,转换为int型,结果
2015-11-25 17:15:28 1064
转载 STM32 ADC结合DMA数据采样与软件滤波处理
本文原创于观海听涛,原作者版权所有,转载请注明出处。作为一个偏向工控的芯片,ADC采样是一个十分重要的外设。STM32集成三个12位精度18通道的内部ADC,最高速度1微秒,结合DMA可以解放CPU进行更好的处理。ADC接口上的其它逻辑功能包括:●同步的采样和保持●交叉的采样和保持●单次采样模拟看门狗功能允许非常精准地监视一路、多路或所有选中的通道,当被监视的信号超出预置的
2015-10-29 09:56:33 8460 3
转载 手把手教你使用Git
摘要 Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。一:Git是什么? G
2015-09-09 09:32:50 662
转载 搭建git for windows服务器(100%可以成功)
原文地址:http://blog.csdn.net/code_style/article/details/38764203既然git在linux下面非常好用,为什么还要搭建git windows的服务器,因为不是所有的用户都需要在linux下面做开发,对吧,还有很多用户选择使用windows做开发。 科普一下: 1、TortoiseGit是什
2015-09-01 10:37:06 2662
转载 图文介绍Windows系统下使用 Github账户 + msysgit + TortoiseGit 进行文件管理的方法。
安装安装mysysgit下载地址:msysgit安装过程:0、启动 1、默认 2、默认 3、默认 4、默认 5、这步骤很重要,选中 Checkout as-is 。这样使用 git clone 时,Git不会擅自改动所获文件的换行符。
2015-08-27 16:41:21 1204
转载 git本地使用以及与github、git@osc账户联合使用
目前最火的版本控制软件就是Git了吧?你要是还用SVN或者CVS什么的都不好意思在圈里打招呼!前天我就遇到这种情况了,QQ上和老同学聊起自己用SVN来管理程序版本,好麻烦,当场就惨遭鄙视---“你还用SVN啊?你Out了!我们都用Git了!”好吧为了不被人鄙视,也为了可以鄙视别人,我终于也开始学Git了!用了几天之后的感觉就是,确实好用啊!难道大家都来追捧!linus继linux之后又造福
2015-08-27 16:35:20 1283
原创 关于keil软件仿真时提示no 'read' permission没有读或写权限
*** error 65: access violation at 0x40023800 : no 'read' permissionkeil软件仿真simulator时没法run只能点一下走一下。提示no 'read' permission。解决办法:在工程下新建一个debug.ini文件,在文件中写入map 0x40000000,0x40070000 read writ
2015-07-03 22:48:37 28266 8
原创 天地飞接收机输出信号解析
今天测试了下天地飞8通道的接收机的pwm输出。接收机的输出信号,可以按照50HZ的pwm信号来解析,在stm32中,使用外部高地电平触发中断的方式,来记录一个脉宽的时间。用示波器实际查看信号的过程中,发现前四路信号与后四路信号脉冲之间的间隔是随时间变化的。,。。也就是说两者的频率是不完全同步的,,具体实现原理我也不太懂。
2015-06-16 17:22:04 13443
原创 stm32串口占用时间、消耗CPU及最大中断时间的深度分析,探寻一种更有效的串口发送方式
stm32串口占用时间、消耗CPU及最大中断时间的深度分析,探寻一种更有效的串口发送方式
2015-05-20 09:30:22 9330 1
转载 Xmodem源代码
1、Xmodem源代码#include "crc16.h"#define SOH 0x01#define STX 0x02#define EOT 0x04#define ACK 0x06#define NAK 0x15#define CAN 0x18#define CTRLZ 0x1A#define DLY_1S 1000#define MAXRETR
2015-05-18 15:20:06 6502
转载 C语言 条件编译详解
指令 用途 # 空指令,无任何效果 #include 包含一个源代码文件 #define 定义宏 #undef 取消已定义的宏 #if 如果给定条件为真,则编译下面代码 #ifdef
2015-05-08 18:32:11 531
转载 二维数组指针
二维数组指针 概括的说,指针其实就是可变数组的首地址,说是可变数组,是 指其包含内容的数量的可变的,并且是可动态申请和释放的,从而充 分节约宝贵的内存资源。我一向喜欢一维数组,除非万不得已,我一 般是不用二维数组的,多维的则更是很少涉足了。因为一维简单,容 易理解,而用指针指向的多维数组就具有相当的复杂性了,也因此更 具有讨论的必要。 闲话少说,这里我就以三
2015-05-08 11:45:08 544
转载 Windows控制台下绘制简单图形
最近接触到一个很有意思的问题,如何在Windows控制台下画图,翻遍了C的头文件也没找到画图的函数,好吧,那就用Windows提供的API函数吧,看来想移植是没戏了。先画一个简单的图,类似心电图那种吧,假设得到的数据是纵坐标的值,横坐标默认从0开始,每隔512uS(微秒的那个符号不会打)得到一个纵坐标值,要求将所有纵坐标值连起来,就以这个简单的程序为例吧。 既然有了需求,实现起来就简
2014-12-01 23:24:39 1828
原创 关于C语言运算的自动提权及类型转换的问题
先上程序 Test1 = (uTest-4760); Test2 = (uTest-4760)/10; uTest = (uint32_t)(uTest-4760); Test3 = uTest/10; Test4 = 0;
2014-10-22 10:56:33 895
转载 循环冗余校验(CRC)算法入门引导
前言CRC校验(循环冗余校验)是数据通讯中最常采用的校验方式。在嵌入式软件开发中,经常要用到CRC 算法对各种数据进行校验。因此,掌握基本的CRC算法应是嵌入式程序员的基本技能。可是,我认识的嵌入式程序员中能真正掌握CRC算法的人却很少,平常在项目中见到的CRC的代码多数都是那种效率非常低下的实现方式。其实,在网上有一篇介绍CRC 算法的非常好的文章,作者是Ross William
2014-10-14 23:05:34 968
转载 STM32串口介绍
串口作为 MCU 的重要外部接口,同时也是软件开发重要的调试手段, 其重要性不言而喻。STM32 的串口资源相当丰富的,功能也相当强劲。ALIENTEK 战舰 STM32 开发板所使用的 STM32F103ZET6 最多可提供 5 路串口,有分数波特率发生器、支持同步单线通信和半双工单线通讯、支持 LIN、 支持调制解调器操作、 智能卡协议和 IrDA SIR ENDEC 规范、具有 DM
2014-09-09 09:26:59 2176
转载 STM32 定时器 定时时间的计算
假设 系统时钟是72Mhz,TIM1 是由PCLK2 (72MHz)得到,TIM2-7是由 PCLK1 得到关键是设定 时钟预分频数,自动重装载寄存器周期的值/*每1秒发生一次更新事件(进入中断服务程序)。RCC_Configuration()的SystemInit()的RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV2表明TIM3CLK为
2014-08-13 21:14:45 8796
转载 关于二进制补码
问一个基本的问题。 负数在计算机中如何表示?举例来说,+8在计算机中表示为二进制的1000,那么-8怎么表示呢?很容易想到,可以将一个二进制位(bit)专门规定为符号位,它等于0时就表示正数,等于1时就表示负数。比如,在8位机中,规定每个字节的最高位为符号位。那么,+8就是00001000,而-8则是10001000。但是,随便找一本《计算机原理》,都会告诉你,实际上,
2014-07-30 15:49:06 1497
转载 STM32F4读写内部FLASH【使用库函数】
STM32F4读写内部FLASH【使用库函数】STM32F4Discovery开发帮使用的STM32F407VGT6芯片,内部FLASH有1M之多。平时写的代码,烧写完之后还有大量的剩余。有效利用这剩余的FLASH能存储不少数据。因此研究了一下STM32F4读写内部FLASH的一些操作。【STM32F4 内部Flash的一些信息】STM32F407VG的内部FLASH的地址是:
2014-07-08 12:55:02 5182
原创 STM32IAP升级------IAP升级功能编写初期的一些困惑与疑问---完成功能后的总结
IAP升级功能编写初期的一些困惑与疑问---完成功能后的总结一,网上下载的例程,跳转部分的代码有差异,尤其是用的汇编那句二,关于跳转部分的代码的理解(转)三,关于跳转时能否不用按键,用软件标志位以及APP与IAP之间的互跳四,关于APP与IAP互跳之间的中断处理问题
2014-06-18 16:46:58 31008 7
原创 keil错误提示Error: L6218E: Undefined symbol
Echuxianrror: L6218E: Undefined symbol
2014-06-18 15:41:21 46937 4
原创 STM32IAP升级-----编写IAP升级遇到的问题总结
编写IAP升级遇到的问题总结一,串口通信问题二,FLASH问题三,数组越界问题四,关于APP与IAP互跳之间的中断处理问题五,总结一下在IAP升级中APP程序的中断向量表的偏移
2014-06-18 10:51:35 18166
原创 * JLink Info: Could not measure total IR len. TDO is constant high.
keil编译Jlink烧写时提示* JLink Info: Could not measure total IR len. TDO is constant high.。无法烧写成功。。我的we
2014-06-15 16:34:20 15130 2
原创 keil的错误提示error: C3900U: Unrecognized option '-O3'.
这是使用的keil版本(或者权限不够)不支持O3dengji
2014-06-10 11:12:41 17261
SPL06-007_Goertek.html
2020-11-22
MPU-6500-Register-Map2.html
2020-11-22
MPU-6500-Datasheet2.html
2020-11-22
BMI088英文数据手册.html
2020-11-22
stm32hxx_datasheet_数据手册.pdf
2020-11-22
STM32H7x3中文参考手册
2020-11-22
MicroHard_P900_Manual.v1.8.7.pdf
2018-03-16
A_PAINLESS_GUIDE_TO_CRC_ERROR_DETECTION_ALGORITHMS
2014-10-14
我学习CRC32、CRC16、CRC原理和算法的总结(与WINRAR结果一致)
2014-10-14
stm32IAP远程更新资料包
2014-06-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人