
编程相关
文章平均质量分 74
zoogar
程序猿
展开
-
【转载】【点评】详细解析C语言中的sizeof
原文出处:http://www.newasp.net/tech/program/23114.html 一、sizeof的概念 sizeof是C语言的一种单目操作符,如C语言的其他操作符++、--等。它并不是函数。sizeof操作符以字节形式给出了其操作数的存储大小。操作数可以是一个表达式或括在括号内的类型名。操作数的存储大小由操作数的类型决定。 二、sizeof的使用转载 2009-12-05 17:48:00 · 413 阅读 · 0 评论 -
基于FPGA和Keil RTX的μC/GUI移植
μC/GUI版本:3.90a处理器:STR912FAW4xLCD控制方式:FPGA代理控制,总线读写像素,简单初始化软件平台:Keil RTX多任务实时操作系统编译环境:MDK-ARM Professional Version: 4.23移植目标:基本画图由于使用了FPGA代理控制,所以底层驱动比较简单,没有涉及LCD控制器的寄存器等操作。移植的过程主要是根据编译错误的原创 2011-12-31 13:28:15 · 3662 阅读 · 0 评论 -
基于NAND Flash的RL-FlashFS实现
RL-ARM版本:4.22NAND Flash芯片:K9F1208U0C处理器:STR912FAW4x软件平台:裸奔编译环境:MDK-ARM Professional Version: 4.23目标:基本文件系统操作RL-FlashFS是RL-ARM的一部分,它可以脱离RTX内核独立运行,所以为了降低调试难度,我采用了裸奔的方式。1. 添加RL-FlashFS函数库原创 2012-01-04 16:04:58 · 10712 阅读 · 8 评论 -
μCOS串口通讯模块设计
原文地址:http://www.cevx.com/bbs/thread-32000-1-1.html在嵌入式应用中,使用RTOS的主要原因是为了提高系统的可靠性,其次是提高开发效率、缩短开发周期。μCOS-II是一个占先式实时多任务内核,使用对象是嵌入式系统,对源代码适当裁减,很容易移植到8~32位不同框架的微处理器上。但μCOS-II仅是一个实时内核,它不像其他实时操作系统(如嵌入式Linu转载 2012-02-09 14:49:42 · 2768 阅读 · 0 评论 -
多任务FIFO的实现
受帖子《μCOS串口通讯模块设计》的启发,自己写了一个多任务环境下的FIFO。实现了如下特性:(1)读和写分别互斥。也就是说,在某个任务读FIFO时,其它任务不能读;写也是一样。(2)读写互不干扰。比如某个任务在读FIFO时,另一个高优先级任务抢占并且写FIFO,这是允许的。(3)当FIFO为空时,读操作挂起;当FIFO为满时,写操作挂起;此多任务FIFO已应用于一个小型项目的原创 2012-02-09 15:48:32 · 2626 阅读 · 0 评论 -
Keil RL-ARM学习笔记
RL-ARM是Keil MDK自带的Real-Time Library,其中包括RTX 内核(Real-Time eXecutive,实时操作系统)、RL-FlashFS(文件系统)、RL-TCPnet(TCP/IP协议栈)、RL-CAN(CAN总线函数库)和RL-USB(USB总线函数库)。不过目前好像用的人不多。1. (2011.12.26 11:17) 移植注意事项 除了按帮助原创 2011-12-28 22:47:28 · 12517 阅读 · 4 评论 -
TeX学习笔记
1. 获取宏包使用帮助:在命令行中输入texdoc 宏包名,如texdoc pstricks。2. (2012.03.12 18:06) 今天在\subsubsection里面添加\footnote后编译报错:“! TeX capacity exceeded, sorry [input stack size=5000].”。后来想起lshort文档提到\protect命令,应用场景似乎很相似。原创 2012-03-09 15:35:21 · 4822 阅读 · 0 评论 -
嵌入式系统学习笔记
1. (2012.01.31 09:11) 昨天用STM32向PC串口发数时,发现有问题。PC端的软件首次打开串口后,接收正常;但是关闭串口然后再打开,数据出错。试了两个串口接收软件,一个是聂小猛的SSCOM3.2,另一个是SecureCRT6.7,结果都是这样。STM32的串口发送程序如下:void Serial_SendChar(char c){ while (USART_G原创 2012-01-31 09:20:38 · 2806 阅读 · 0 评论 -
当printf遇到多线程
来源:http://www.yfworld.com/?p=425本文作者:云飞工作室(YunFei Studio),戴晓天联系方式:Automatic.dai@gmail.com原文地址:www.yfworld.com一、本文背景printf()这个函数我想大家再熟悉不过了,可是对于如何在多线程中使用printf(),各位可能就没怎么接触过了。本文以VC6.0为开发平台,旨在利转载 2012-01-01 16:00:23 · 8778 阅读 · 1 评论 -
【转载】C/C++语言void及void指针深层探索
原文出处:http://blog.youkuaiyun.com/eiyaya/archive/2006/04/10/657692.aspx 1.概述许多初学者对C/C++语言中的void及void指针类型不甚理解,因此在使用上出现了一些错误。本文将对void关键字的深刻含义进行解说,并详述void及void指针类型的使用方法与技巧。2.void的含义 void的字面意思是“无类型转载 2009-12-05 18:42:00 · 554 阅读 · 1 评论 -
【转载】基于VC++的特殊波特率的实现方法
1 引言 串口是计算机上一种非常通用的接口。大多数计算机包含一个基于RS232的串口。串口本质上是计算机的CPU和外部串行设备间的编码转换器。当数据从CPU经过串口发送出去时,字节数据被转换为串行的位。而在接收数据时,串行的位则被转换为字节数据。 串口同时也是工业过程控制中仪器仪表设备通用的接口,可以用于获取远程采集设备的数据。目前在进行工业设备改造的过程中,通常是在Windows环转载 2010-03-02 17:31:00 · 2308 阅读 · 0 评论 -
基于DM9161的RL-TCPnet实现
RL-ARM版本:4.22以太网PHY:DM9161处理器:STR912FAW4x软件平台:裸奔编译环境:MDK-ARM Professional Version: 4.23目标:固定IP,ping通如果Keil提供了处理器的MAC驱动,并且驱动与PHY匹配的话,那么RL-TCPnet的实现超简单。Keil提供了STR9的驱动,不过那是为STE100P写的,而我用的是DM9原创 2012-01-06 18:12:34 · 5764 阅读 · 0 评论 -
RTX串口接收初步构想
1. 初始化信号量os_sem_init (sem_isr, 0);os_sem_init (sem_buf, 0);2. 中断处理一、禁止中断重入,并记录重入异常。二、使用信号量通知中断处理任务:isr_sem_send (sem_isr);3. 中断处理任务中断处理任务设为高优先级。处理流程:(1)等待信号量:os_sem_wait (sem原创 2012-01-11 11:35:47 · 3706 阅读 · 0 评论 -
玩LFS的几个有用脚本
1. 宿主机重启后挂载LFScat > mount_lfs.sh << "EOF"mount -v -t ext3 LABEL="lfs:/" $LFSmount -v --bind /boot $LFS/bootmount -v -t ext3 LABEL="lfs:/home" $LFS/homemount -v -t ext3 LABEL="lfs:/tmp" $原创 2011-12-28 23:31:07 · 2247 阅读 · 0 评论 -
Keil RTX最小系统在STM32F10x上的实现
MDK版本:MDK-ARM Professional Version: 4.23处理器:STM32F10x目标:最小系统首先,在Targer Option的Operating system里面选上RTX Kernel。1. 复制配置文件RTX_Conf_CM.c从Keil的安装目录中的\Keil\ARM\Startup\里面找到RTX_Conf_CM.c,将其复制出来并添加原创 2012-01-31 11:09:20 · 5795 阅读 · 0 评论 -
关于__irq的使用
来源:http://wenku.baidu.com/view/efeca9a5f524ccbff12184fd.html__irq为一个标识,用来表示一个函数是否为中断函数。对于不同的编译器,__irq在函数名中的位置不一样,例如:ADS编译器中:void __irq IRQ_Eint0(void);Keil编译器中:void IRQ_Eint0(void) __irq;转载 2011-12-29 11:02:32 · 2112 阅读 · 0 评论 -
μC/GUI库函数生成
来源:http://blog.sina.com.cn/s/blog_663999650100wurx.html编译成库的必要性:l μc/GUI包含的文件很多,在使用KEIL软件打开包含所有μc/GUI源代码的工程文件时,速度非常的慢。并且编译时也非常的耗时;l 如果开发工具链接时比较智能化,链接时仅将使用到的函数和数据加入最终的目标文件。能有效的减转载 2011-12-31 15:24:37 · 2700 阅读 · 0 评论 -
从裸奔到RTX的使用提示
RTX是实时微内核操作系统,本文涉及的部分内容同样适合于μcos等RTOS。同时,某些内容可能是RTX特有的。1. 跟循环实现的Delay说拜拜形如这样的Delay函数应该从代码中消失了:void Delay(int n){ int i = 0; int j = 0; int k = 0; int temp =0; for (i = 0; i <原创 2012-01-10 14:59:18 · 4570 阅读 · 0 评论