- 博客(59)
- 资源 (9)
- 收藏
- 关注
原创 sizeof和strlen区别以及使用情况分析
实际做开发项目中,如果有涉及到字符数据处理等,都会遇到获取数据长度的情况。比如现在需要对a[50]数组进行赋值1~50的指定数据,如果50长度未知的情况,又应该如何为数组赋值?想到的就是获取数组长度(元素个数)然后再赋值(解决方法见文末)。C标准函数库有自带获取数据长度的函数:sizeof和sizelen。下面进行介绍两者区别以及使用条件分析。
2017-08-06 15:09:58
744
原创 memcpy与strcpy区别
memcpy与strcpy都是拷贝某段数据的函数库,是C语言自带标准函数库,位于:#include”string.h”头文件中,在一些字符串处理有很大帮助。很多人可能对一个数组的值赋给另一个数组时,估计都会采用一个for循环,对每个数组元素依次赋值。但如果使用数据拷贝函数,就可以一步到位。既然两者都是拷贝数据,但有何不同之处呢?
2017-08-06 12:52:07
890
原创 基于U-boot完成NandFlash裸板程序烧写(DNW&TFTP)
案例在JZ2440开发板上完成,本例通过NorFlash中U-boot进行NandFlash裸板程序下载。上篇文章讲述的是采用epo烧写器直接完成程序对NandFlash烧写。而当板子上的NorFlash有U-boot启动程序时,可以通过U-boot进行烧写,但前提需要DNW软件进行程序USB下载,或者tftpd软件进行程序网络下载,下载后由U-boot完成程序烧写。下面对两种下载方法进行实验。
2017-07-07 21:25:09
1168
原创 S3C2440裸板程序下载
本例基于JZ2440开发板进行开发和实验。将嵌入式linux学习历程与广大网友分享,也方便自己对学习做成笔记和总结。本例使用PC机的DOS命令行,通过ope烧录器将二进制程序文件烧录到NandFlash中。因为不带任何操作系统,所以称之为裸板程序。
2017-07-04 10:44:36
1499
原创 推荐一款调试法宝--虚拟示波器
顾名思义,虚拟示波器并不是真实的示波器,简单地说而是一款PC端开发的监控数据变化曲线的软件,与下位机进行通信。这种类型软件网上有很多,我现在推荐的是我前几年用的一款虚拟示波Data_Scope,在调试中起到了很大的帮助,感觉还不错,推荐给大家。用此软件可以监控速度变化曲线,角度变化曲线,AD值变化曲线等等,你想要监控的重要变量情况都可以。相比于串口调试助手,能以曲线形式更直观的显示变化情况。
2017-06-12 09:42:09
10260
9
原创 经纬度计算两地距离
目前能提供经纬度距离的算法有很多,以下方法是将地球看为椭圆进行处理计算。具体算法过程不详解(感兴趣的可以网上搜索具体计算过程),这里只列出代码实现部分,代码可以直接植入单片机中,进行计算。
2017-05-14 00:42:36
3302
原创 一种针对滑动变阻器AD值采集线性化处理算法
在项目中,用到了采集旋钮(滑动变阻器)的AD值,然后需要将数据发送给上位机。方法比较简单,但是有个要求就是:旋钮旋转的角度(输出阻值,Rx表示)需要和发送给上位机的的数据(Y表示)成线性关系(正比例关系)。为了达到此要求,动用了一些数学思维,对整个过程进行了分析和研究,达到了很好的线性效果。
2016-12-04 16:59:16
6510
1
原创 基于STM32的CAN总线通信学习笔记
本文主要简单介绍CAN总线的相关概念,以及通信协议等知识,和使用STM32自带的bxCAN外设进行CAN总线编程实验,以及编程心得。
2016-11-26 12:17:05
28384
3
原创 strstr(str1,str2)函数使用时注意事项
通过实际测试,从该函数入手,发现问题,到寻找原因,再到解决问题。从而得出正确使用此函数的经验。注意事项:在使用或者处理strstr(str1,str2)返回值之前,切记不要对str1字符串进行更改,若要更改,应该等使用完返回值后再更改!!
2016-10-14 22:14:45
74144
7
原创 一种针对超声波测距的滤波处理算法
写一个针对超声波测距的特点,对其进行错误数据的滤波。其算法思想是,利用少数遵循多数原则,主要为了将采集的多个数据分成两波,将相邻两个数之差的最大那个作为两拨数的分界点。然后取两波数中个数最多的那波数为正确的有效值,另一波少数的为无效值。这样如果出现的几个错误值,而根据以上分析的错误数据特点,连续出现的几个错误数据大小都是比较靠近,而且不会超过3个点,因此在多个点(8个)中能很容易的将这些少数点分离出来。
2016-10-06 17:53:24
20624
6
原创 关于STM32定时器使用的一个注意事项(以此为前车之鉴,重要!)
在定时中断里失能定时器的注意事项---应该注意请标志位。若在中断外关闭则不需要清除。
2016-07-17 20:19:56
27418
30
原创 GSM/GPRS模块通过NTP服务器(世界授时服务器)来获取UTC时间,并时间存于RTC中。
以SIM900A 的GSM/GPRS模块为例。从模块的AT指令手册可以看到有获取UTC(世界时间)的指令:AT+CLTS。当用该指令去获取时间时,从调试助手看到模块只返回OK,之后再无响应。后来在网上查到网友说该模块受到当地运营商权限限制,不一定所有都能授UTC时间,所以该指令只能作废。在手册中还能看到AT+CCLK指令,该指令其实是设置和获取模块内部RTC时间。但是模块的使用过程经常会涉及上...
2016-06-25 11:09:08
12817
原创 对一个8位(一字节)数的倒序处理
前段时间不小心把8位的并行数据口刚好倒序反接了,为了不改硬件下,在程序里将得到的一字节数的8位2机制进行倒序处理,处理后一字节返回。经过对代码的不断简练,下面附上倒序处理的算法。个人觉得有时比较有用,网友们有其它更好算法也可以给以借鉴!unsigned char Convert_P2(unsigned char Data) {char i;unsigned char Dat
2016-04-25 10:25:35
6767
3
原创 一次GPRS调试引出的大发现--STM32发送字符串第一个字符丢失
GPRS调试中发现的一些问题。以及后续发现STM32串口发送字符串产生第一个字符丢失现象的解释与解决方法。
2016-04-22 12:56:20
3374
1
原创 做EEPROM的测试中发现一些奇怪问题。器件读写地址不唯一。
在做EEPROM的AT24Cxx实验中发现对芯片读写地址的不唯一问题。测试主要针对AT24C02和AT24C1024两款芯片进行测试,采用的是官方固件库的硬件I2C编程。
2016-03-20 21:28:17
5778
3
转载 网上发现的一个stm32的I2C比较通俗易懂的入门例程。
买了个核心板,算是有自己的STM32板子了,所以顺便也整一整I2C(因为上面的是24C02,嘻嘻,比较亲切),刚开始的时候,按照参考书上面的例程写了一个读写程序,但是直接把程序下载到板子里串口无数据输出(我是用的串口把读出的数据发送出来),然后我就在FLASH里调试,一步步的走下去,发现程序停在了while(!I2C_CheckEvent(I2C1,I2C_EVENT_MASTER_BYTE_RE
2016-03-11 21:44:16
20279
3
原创 亲测鸡汤!!stm32用于进入停止模式的中断和用于产生唤醒的中断,后者的抢占优先级一定要高,否则无法唤醒!
stm32用于进入停止模式的中断和用于产生唤醒的中断,后者的抢占优先级一定要高,否则无法唤醒!
2016-03-09 17:12:52
6581
7
原创 亲测实验,stm32待机模式和停机模式唤醒程序的区别,以及唤醒后程序入口。
本文主要研究STM32的低功耗知识,包括待机模式和停机模式。让单片机进入的待机模式和停机模式,并且分别对它唤醒。观察现象,得出唤醒机理。
2016-03-09 15:49:31
39191
15
clangd 13.0.0
2024-02-22
Automotive Ethernet - The Definitive Guide 车载以太网(全).pdf
2021-12-26
Source Insight 4.0破解file
2018-04-16
secuerCRT,tftpd,dnw软件安装包,uboot程序
2017-07-07
基站和经纬度定位(定位API实例)
2017-05-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅