- 博客(15)
- 资源 (5)
- 收藏
- 关注
原创 buildroot GNU strip分析
使用buildroot构建嵌入式系统带来很多方便。buildroot里使用了很多很好的技术,本文是学习使用buildroot遇到的问题及分析,希望对大家也有帮助。我们查看一个object文件有not stripped和stripped,而buildroot编译出来的目标文件大多是stripped的。output/build/test/test2 这个binary文件...
2018-12-22 14:35:11
1477
原创 STM32驱动FM24CL16
根据小苗开发板例程,修改得好用的读写FM24CL16的2K bytes代码,分享给大家。先贴代码,以后再解析。#include "common.h"#include "includes.h"#include "drvI2c_FM24.h"//#define I2C_PAGESIZE 8 //FM24CL02, 8 bytes one page.#define I2
2013-10-24 09:03:54
9768
3
原创 对OS_FlagUnlink()代码的简化
我在学习ucos-ii代码的时候发现OS_FlagUnlink()代码有一段可以简化。但是作者没有简化,网上也没找到有人讨论这段代码,有点奇怪。怀疑是不是我想的简化有问题,发出来希望有人讨论下。原OS_FlagUnlink()函数(os_flag.c)void OS_FlagUnlink (OS_FLAG_NODE *pnode){#if OS_TASK_DEL_EN > 0
2013-07-12 10:59:49
1329
原创 OSTimeTick()函数解析
ucos V2.52OSTimeTick()函数解析调用处:os_cpu_a.asm里_OSTickISR函数所有源文件:os_core.c代码:void OSTimeTick (void){#if OS_CRITICAL_METHOD == 3 /* Allocate storage for CPU stat
2013-07-11 20:10:12
6855
2
翻译 《C和指针》操作符的优先级
《C和指针》一书介绍操作符优先级5.4.3 操作符的属性 每个操作符的所有属性都列在表5.1所示的优先级表中。表中各个列分别代表操作符、它的功能描述、用法示例、它的结果类型、它的结合性以及当它出现时是否会对表达式的求值顺序施加控制。用法示例提示它是否需要操作数为左值。术语lexp表示左值表达式,rexp表示右值表达式。记住,左值意味着一个位置,而右值意味着一个值。所以,在使用右值的地方
2012-12-09 18:19:41
2020
2
原创 C语言循环数组做FIFO队列--一些认识
C语言循环数组做FIFO队列在做通信时,FIFO队列queue是非常好用的,先完成接收通信把接收的数据存在队列里;然后再进行先进先出逐项处理。C语言用循环数组,通过读位置和写位置循环来实现FIFO队列功能。即数组队列。1 以1个字节为单位的数组队列的数据结构使用数组队列,为了方便判断队列空和队列满,使用不完全填满队列,即保留一个元素始终不用下
2012-11-20 17:44:56
20520
3
原创 在html里调试CGI程序的一个方法-针对C语言
在html里调试CGI程序的一个方法-针对C语言通常一个CGI不起作用,很有可能是CGI程序非法越界等错误。而用浏览器打开调用CGI的HTML网页,并不会给你有用错误提示(IE倒有一些)。所以在CGI正式使用前,最好把其当一应用程序调试,通过也在HTML里使用。而CGI要获取HTML的GET或POST数据,我们可以用一字符数组代替。正常CGI程序,代码如下code1:
2012-11-16 15:47:29
6652
原创 对STM32系统时钟和分频的一点理解
系统时钟和分频首先来手册里的一段话。三种不同的时钟源可被用来驱动系统时钟 (SYSCLK)HSI振荡器时钟HSE振荡器时钟PLL时钟一般用的是PLL时钟,后面有证据。我们可以通过库函数获取各时钟值void RCC_GetClocksFreq(RCC_ClocksTypeDef* RCC_Clocks)在我的系统里,把时钟值打印信息
2012-07-17 17:39:38
20658
1
原创 STM32之SPI_CR1寄存器的SSM, SSI位理解
近日调试STM32的SPI程序,现在记录下自己的一点小理解。STM32之SPI_CR1寄存器的SSM, SSI位理解 SSM位,启用或禁止软件从设备选择。SSM置位时,NSS输入引脚的电平将被SSI的值代替。 SSI位,在SSM=1时有意义,决定NSS引脚上的电平,NSS引脚上的IO值将忽略。 NSS输入分为硬件输入和软件控制输入两种
2012-07-16 10:43:23
9293
原创 char类型数据向右移位时符号位问题
首先运行环境是51单片机+KEIL C最近写一个16进制数据转换成ASCII形式的函数,多次运行发现,当16进制数据高4位大于8时,转换就出错。最开始出错的程序如下:void hex2ascii(char hex, char ascii[]){ char i = 0; ascii[0] = (hex & 0xf0) >> 4; ascii[1] = hex &
2012-03-02 15:11:24
3039
原创 单片机+硬件小笔记
<br />1,AD7705。只有在有数据时(AD转换或校准),DRDR会变低,才可以读(Data, Offset, Gain reg)。平时不能读这三个寄存器,否则会导致通信紊乱。 2011年5月18日17:19:02
2011-05-18 17:17:00
800
原创 iar 汇编从4.xx到5.xx
我最近在做IAR 4.xx到5.xx的迁移,由于我其实是菜鸟,所以记录下迁移过程,希望大家发现在什么错误能帮我指出来,谢谢!首先参考文档:EWARM_MigrationGuide.ENU.pdf 在IAR的安装目录下第一步 改汇编 1,Segments versus sections a,COMMON->SECTION b,
2010-04-17 21:30:00
1588
1
转载 关于Keil、IAR等开发工具的的一些感想
平时用ADS习惯了,原以为切换到新的平台会有很多的不适应。但几天用下来,感觉其实差别并不大。 对于嵌入式软件开发来说,其实最重要的还是程序如何编译、链接以及装载。如果对这些问题了解得已经很透彻的话,会发现所有的开发工具都是基于这些最基本的东西的,只是实现的方式不同。具体到应用的层面,如果遇到问题,完全可以通过Google、Baidu解决,实在解决不了的,可以到Keil或IAR的论坛发帖求助。
2010-04-17 14:20:00
12936
2
原创 2410 SPI通信
我要用2410上Win CE系统用SPI和CC1101通信。现在调试用芯片级程序调试2410的SPI0和SPI1通信,由于还有很多不懂的,所以先用简单一点的查询方式。以下我是编写的SPI.C:/******************************************************/// SPI0 as the master// SPI1 as the slave/**
2010-04-15 20:34:00
1324
1
Mesa source code tree overview.docx
2020-07-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人