6 马路上的农民

尚未进行身份认证

暂无相关描述

等级
博文 15
排名 27w+

cJSON移植到STM32编译无问题但是输出不对问题

cJSON运行需要比较大的堆栈空间,将Heap_Size改成0x1000就好了即:Heap_SizeEQU0x00001000

2019-06-02 16:07:11

输入阻抗、输出阻抗、阻抗匹配和特性阻抗

1.输入阻抗:输入阻抗是指一个电路输入端的等效阻抗.在输入端上加上一个电压源U,测量输入端的电流I,则输入阻抗Rin就是U/I.你可以把输入端想象成一个电阻的两端,这个电阻的阻值,就是输入阻抗.输入阻抗跟一个普通的电抗元件没什么两样,它反映了对电流阻碍作用的大小.对于电压驱动的电路,输入阻抗越大,则对电压源的负载就越轻,因而就越容易驱动,也不会对信号源有影响;而对于电流驱动型的电路,输入阻抗越小...

2019-05-10 18:14:53

函数和宏函数的区别

某一个功能可以用函数来实现,也可以用宏定义函数来实现,如下宏函数实现比较大小功能:#defineMAX(A,B){(A)>(B)?(A):(B)}同样的功能也可以使用以下函数来实现:intMax(inta,intb){if(a>b)returna;elsereturnb;}那么他们...

2019-05-10 17:42:36

关于STM32 CAN的过滤器/滤波器

1.在设置CanTxMsg.StdId时注意需要将其右移一位,比如如下滤波器配置:CAN_FilterInitStructure.CAN_FilterNumber=0;CAN_FilterInitStructure.CAN_FilterMode=CAN_FilterMode_IdMask;CAN_FilterInitStructure.CAN_FilterScale=CAN_Filter...

2019-05-06 17:58:54

嵌入式代码稳定/抗干扰性增强措施

1.了解自己程序大概占用的堆栈大小,设置足够的堆栈余量,防止堆栈溢出2.尽量少用大数组,必要时可以将一个大数组分成几个3.对于关键的变量用Volatile关键字修饰,尤其是会在多个线程/中断中调用的变量,否则你很可能取到错误的变量值4.对于在多个线程/中断中都调用了的函数,最好保证其不会被同时调用(即该函数在一个线程被执行时被另外一个高优先级线程/中断打断,进入该高优先级线程...

2019-04-12 19:31:29

CC2530/IAR For 8051,数据格式/数值范围问题

一般来说:8位无符号整型: typedefunsignedcharu8;16位无符号整型:typedefunsignedshortu16;32位无符号整型:typedefunsignedintu32;64位无符号整型:typedefunsignedlongu64;8位有符号整型: typedefsignedcharu8;16位无符号整型:typ...

2018-07-26 18:11:55

STM32F103与407,乘法、浮点乘法、带与不带FPU浮点乘法速度对比

主旨:测试在各种情况下CPU执行10万次乘法耗时主测试函数:voidmutil_10w(void){ u32mul=0; u16a=112,b=62; u32ka=0; for(ka=0;ka<100000;ka++) { mul=a*b; }}实验1:F103耗时:22.55ms 实验2:F103,把b改成大于0xff的数字耗时...

2018-07-26 14:38:45

IAR常用快捷键设置

我主要用到的就是三个快捷键:代码批量加注释(//)、代码批量解除注释、代码自动对齐,实际上我也就只修改了这三个快捷键:快捷键设置在Tools->Option->KeyBindings里面,如下图所示:点击你想要修改的快捷键项,然后在Pressshortcutkey里面修改,最后点击Set设置,如果遇到提示说已经被占用则可以选择强行修改。我将代码自动对齐(AutoIndent)设...

2018-07-01 19:27:16

IAR界面/字体效果设置

一直不喜欢IAR的界面效果,今天决定好好整改一番:所有的设置都在Tools->Option里面:首先是代码编辑界面,在Editor->Colorandfonts里面,设置成如图:主要是两项设置,一个是字体,还一个是C关键字,如extern和void等,原来是黑色加粗的,个人感觉一点都不明显,我把它改成深蓝色加粗了。然后是工程管理和编译信息界面,在Commonfonts里面,如下...

2018-07-01 19:13:28

CODE,RO-DATA,RW-DATA,ZI-DATA+单片机程序执行流程+堆(heap)和栈(stack)==精华详解

最近一直在研究单片机比较核心的东西,像题目中说的这些,于是在网络上找了好多资料,看了好多博文、论坛,再配合自己的实验,现在终于搞得差不多了,网上各位大侠的博文给了我不少帮助,在此先感谢各位大侠^_^一.CODE,RO-DATA,RW-DATA,ZI-DATACODE:顾名思义,就是代码,指程序中代码即函数体的大小,注意程序中未使用的函数也会算在CODE中,也即会占用FLASH...

2018-07-01 18:44:50

CC2530 实现无线串口

用CC2530实现无线串口可以说是最简单的了,话不多说直接看代码:1.初始化voidRF_Init(void){ FRMFILT0 =0x0C;        //静止接收过滤,即接收所有数据包    TXPOWER =0xD5;        //发射功率为1dBm  FREQCTRL =0x0B;        //选择通道...

2018-06-04 16:01:09

STM32 IAP/BOOT,三步速成

Stm32的IAP现在已经是非常简单了,下面就教大家三步学成:前提条件:已经有Flash读写函数,这个函数好弄,很多stm32例程里面都有第一步(对于Boot程序):跳转到指定Flash位置函数,如下:voidJump_To_Application(constu32startAddr){ Jump_To_App=(pFunction)(*(vu32*)(startAddr+4));...

2018-04-27 00:16:47

文件截取\裁剪工具软件

    这几天做远程固件更新,啥都弄好了,突然发现生成的bin文件莫名的大(正常应该十几KB的却有490KB之多),然后打开bin文件看了下,发现只有前面十几KB是有用的,其它都是0xFF,于是就想把后面的都切除不就好了,然后就在网络上搜索了下类似“文件截取工具”,发现这种小工具居然没有,只搜索到一个有可能是的但还要积分下载,没办法,只好自己写一个了,由于目前网上此类工具不多(我的搜索结果是几乎没...

2018-04-01 01:38:18

CC2530 BootLoader,不带协议栈,任意跳转

最近业余研究了下CC2530的远程固件更新/空中下载,现做个总结,一则方便大家学习共进,二则自己做个记录以防日后忘了:一.BootLoader主要技术点  1.程序跳转到指定位置  2.设置好相应的中断向量表偏移  3.FLASH读写(这个相对较简单)  4.将APP程序编译到指定位置(注意不是烧写)二.主要技术点解决  1.使用汇编指令LJMP,如:asm("LJMP0x2...

2018-03-02 16:22:06

串口发送速度实测

 最近一直在考虑用串口传输音频或者视频可不可能,这就涉及了串口传输速度的问题了,虽然说可以通过波特率大致算出其传输速率,但是算出来的总没有实测的准,再加上我是个实干主义者,所以就动手测起来了:使用的是stm32f103的串口,CH340转串口,SSCOM5.1接收,测试方法很简单:循环发送1024字节(1KB))数据,用单片机定时器记录发送耗时,再用1/耗时即得到发送速率(单位KB/s...

2017-06-29 10:15:00
奖章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周上午根据用户上周的博文发布情况由系统自动颁发。