嵌入式C语言
文章平均质量分 66
czhzasui
nullpter
展开
-
DS18B20驱动学习笔记(一)
内核版本Linux2.6.31 交叉编译器版本 arm-linux-gcc 4.1.2开发平台 ARM9 S3c2440 1.printk是在内核中运行的向控制台输出显示的函数2.static int __init ds18b20_init(void)//模块初始化函数注册模块提供的任何功能 module_init(ds18b20_init);//在哪里找到模块的初始化原创 2016-11-09 22:56:37 · 259 阅读 · 0 评论 -
CC2530协议栈的问题之st(x)
#define st(x) do { x } while (__LINE__ == -1) 1, __LINE__ 是个宏,它代表当前代码在源文件的行号,它是大于0的,所以__LINE__ == -1 等同于0,化简为: #define st(x) do { x } while (0) 2,do {} while (0)通常用于宏中, 为的是避免如下情况:原创 2017-01-06 00:53:26 · 837 阅读 · 0 评论 -
CC2530 zstack 2.5.1 生成hex文件
菜单选择Project-Options-Linker-Output-Format,选择Other。右边的Output下拉框选intel-extended,Format variant下拉框选None,Module-local下拉框选Include all菜单Project-Options-Linker-Output标签中,勾上Override default选项,把编辑框中的文件名的后缀改原创 2017-01-06 02:01:08 · 740 阅读 · 0 评论 -
C 版本聊天室 C/S架构——服务器程序
/***************************************************************************** MARK:客户端命令 常用表情 0登录界面 -HELLO \( ̄︶ ̄)> 1注册原创 2017-02-09 16:02:47 · 1023 阅读 · 0 评论 -
C 版本聊天室 C/S架构——客户端程序
/***************************************************************************** MARK:客户端命令 常用表情 0登录界面 -HELLO \( ̄︶ ̄)> 1注册原创 2017-02-09 16:10:41 · 1812 阅读 · 2 评论 -
用链表写职工管理系统
职工信息管理系统:存在一个数据文件,用来存储职工各种信息:职工号,姓名,年龄,性别, 邮编,部门,工资可以注册新职工;允许修改职工信息允许删除职工信息;4,按照按照姓名和部门查询职工信息;可以按照工资多少进行排名,可以浏览所有职工信息;.有一个主界面,供选择和调用上述选项。.用C++中,文件和链表实现#include <iostream>#include <stdlib.原创 2017-02-12 19:45:24 · 6320 阅读 · 0 评论 -
用vector容器写职工管理系统
职工信息管理系统:存在一个数据文件,用来存储职工各种信息:职工号,姓名,年龄,性别, 邮编,部门,工资可以注册新职工;允许修改职工信息允许删除职工信息;4,按照按照姓名和部门查询职工信息;可以按照工资多少进行排名,可以浏览所有职工信息;.有一个主界面,供选择和调用上述选项。.用C++中,文件和链表实现1、头文件control.h#ifndef CONTROL_H#defi原创 2017-02-12 19:48:00 · 856 阅读 · 0 评论 -
Qt入门之信号与槽机制
一. 简介就我个人来理解,信号槽机制与Windows下消息机制类似,消息机制是基于回调函数,Qt中用信号与槽来代替函数指针,使程序更安全简洁。信号和槽机制是 Qt 的核心机制,可以让编程人员将互不相关的对象绑定在一起,实现对象之间的通信。信号当对象改变其状态时,信号就由该对象发射 (emit) 出去,而且对象只负责发送信号,它不知道另一端是谁在接收这个信号。这样就做到了真正的信转载 2017-02-09 15:00:11 · 488 阅读 · 0 评论 -
实验室智能管理系统(1)——项目介绍
刚完成一个学校小项目,分享一下经验。 用Arm11 + zigbee 设计一个实验室智能管理系统 实现功能 数据采集(温湿度、光照、MQ-2) 继电器控制 指纹解锁 QT设计一个用户界面登录界面 如果输入了正确密码或者指纹检测正确 登录 界面1——实验室管理 界面2——门禁管理 这里只提供了指纹模块的操作,因为没有加数据库,所以只设置了默认原创 2017-03-26 19:46:08 · 5569 阅读 · 1 评论 -
实验室智能管理系统(2)——Arm+QT部分(一)
由于QT本身不自带arm的串口函数,用了别人写的串口函数添加到QT工程中。从网上下载qextserialport-1.2win-alpha.zip 将posix_qextserialport.h、qextserialbase.h两个头文件添加到工程登录界面 图中的按键变色效果:改变样式表 QPushButton { background-color: rgb(0, 170, 255); bord原创 2017-03-26 20:02:56 · 827 阅读 · 1 评论 -
实验室智能管理系统(2)——Arm+QT部分(二)
主界面 myzigbee.h#ifndef MYZIGBEE_H#define MYZIGBEE_H#include <QDialog>#include "posix_qextserialport.h"#include <QTimer>#include <QTime>#include "safegate.h"#include <QProgressDialog>namespace Ui原创 2017-03-26 20:10:04 · 1413 阅读 · 1 评论 -
实验室智能管理系统(3)——zigbee部分
我使用的是ZStack-CC2530-2.5.1 修改了Sample app代码SampleApp.c/************************************************************************************************** Filename: SampleApp.c Revised: $D原创 2017-03-26 20:22:20 · 2800 阅读 · 0 评论 -
大四毕业资料整理
作为一个大四实习狗,把以前在学校写的一些代码上传分享。Linux C计算器:一个简单的计算器小程序,实现加减乘除四则运算,可以使用括号。聊天室:C/S架构的一个命令行聊天室程序停车场:一个停车场管理小程序通讯录:一个通讯录管理小程序下载链接:https://download.csdn.net/download/czhzasui/1045665051单片机lcd1602、lcd12864、DHT11...原创 2018-06-04 11:06:08 · 443 阅读 · 0 评论 -
C编程之停车场设计
#include #include #include #define STACK_SIZE 4#define QUEUE_SIZE 100#define OK 0 #define ERROR -1 #define MALLOC_ERROR -2 int MARK;int RUN;in原创 2016-12-17 00:23:24 · 795 阅读 · 0 评论 -
C编程之通讯录设计
#include #include #define OK 0#define ERROR -1#define MALLOC_ERROR -2 int temp_ID = 1;typedef struct node{int ID; // 结点的数据char name[21];char person原创 2016-12-17 00:21:14 · 730 阅读 · 0 评论 -
C编程之计算器程序设计
#include #include #define STACK_SIZE 100#define OK 0 #define ERROR -1 typedef int DATATYPE;typedef struct{int data[STACK_SIZE]; // 栈数组int top;原创 2016-12-17 00:10:08 · 1616 阅读 · 0 评论 -
熟悉vi的基本操作
1. mkdir /temp/vitest2.cd /temp/vitest3.cp /etc/man.config . 其中.表示当前目录4.vi man.config5.:set nu6.50shift+g7.gg 另外 shift+g移动到最后/bzip8.:50,100s/man/MAN/gc 按y原创 2016-11-07 23:47:40 · 274 阅读 · 0 评论 -
Linux错误集锦
在编译BusyBox的时候遇到一个奇怪的error发现是系统时间导致的 ,当前时间要比上次文件改动的时间要早 汗O__O "…可以通过date -s 11/30/2016 命令把时间调整下消除错误 但是下次若是时间改回来了 还是可能报错 本人懒 直接重装了busybox原创 2016-11-16 00:03:18 · 231 阅读 · 0 评论 -
制作根文件系统(一)
一、制作目录 创建一个文件夹名为root_2.6.31 创建子目录/bin、/etc、/dev、/home、/lib、/mnt、/opt、/proc、/root、/sbin、/sys、/tmp、/usr、/var二、编译busybox 解压BusyBox,修改Makefile 制定编译器和芯片arm 修改第164行 CROSS原创 2016-11-15 22:28:14 · 199 阅读 · 0 评论 -
Linux-2.6.31 内核移植
内核版本2.6.31arm-linux-gcc 4.1.2开发板 天祥电子 TX2440 下载内核源码官网http://www.kernel.org/解压修改文件主目录下Makefile第183行ARCH ?= arm CROSS_COMPILE ?= arm-linux- 修改arch/arm/mach-smdk2440.c第163行修改时钟stat转载 2016-11-15 12:43:29 · 447 阅读 · 0 评论 -
Makefile学习笔记(一)
在 Makefile 中, 存在系统默认的自动化变量.$^ : 代表所有的依赖文件 .$@ : 代表目标 .$例如:hello:main.o func1.o func2.ogcc main.o func1.o func2.o -o hello=>>hello:main.o func1.o func2.ogcc $^ -o $@在 Ma翻译 2016-11-14 23:56:01 · 260 阅读 · 0 评论 -
gcc交叉编译器安装
gcc编译器安装这里利用虚拟机共享文件把实现下好的linux编译器4.1.2移动到home目录下mv /mnt/hgfs/shared/arm920t-eabi-4.1.2.tar.gz .解压tar -xjvf arm920t-eabi-4.1.2.tar.gz -C/这样将文件解压到根目录因为文件执行文件在/opt/toolchains/arm920t-eabi/bin原创 2016-11-08 19:08:24 · 584 阅读 · 0 评论 -
Hello,world!
今天是第一次写微博 用来记录我的嵌入式学习经验,做为一个新手 请各位高手多多指教虚拟机版本 Redhat 9用终端写一个Hello,world!打开终端 cd suqianmkdir 20161106cd 20161106touch test.c 创建一个为test.c的文件vi test.c 进入test.c进行编辑输入以下内容:原创 2016-11-06 20:28:30 · 485 阅读 · 2 评论 -
hello world!(驱动模块)
写一个helloworld模块 在加载模块的时候打印出hello word!一、写程序/*****************************************************************************Filename: hello.cAuthor: 陈志辉 Data: 20161114原创 2016-11-16 16:48:42 · 293 阅读 · 0 评论 -
Shell学习笔记(一)
在改变桌面分辨率的时候遇到问题 桌面背景模糊 改变色彩深度解决问题echo换行 需要加上参数-e原创 2016-11-14 23:51:54 · 360 阅读 · 0 评论 -
Shell学习笔记(二)
倒引号(数字1键旁边的那个键) 引号内的字符串当做shell命令行解释执行,得到的结果取代整个倒引号括起来的部分awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理awk ’{pattern + action}’ {原创 2016-11-18 13:57:33 · 262 阅读 · 0 评论 -
挂载nfs服务器
nfs服务器用来连接arm-linux开发板和PC虚拟机,只需要一根网线#是不是很方便啊~下面是图文教程:原创 2016-11-20 23:34:20 · 390 阅读 · 0 评论 -
linux驱动学习笔记(一)
在前面咱已经写过一个简单的hello模块 在加载和卸载的时候在端口打印出调试信息,里面有这么一句话:printk("\n hello world!\n")我还看到有人这么写:printk(KERN_INFO"\n hello world!\n")#咱就纳闷了,这是什么?里面涉及到了printk 消息级别定义#define KERN_EME原创 2016-11-23 22:02:48 · 327 阅读 · 0 评论 -
在NXP I.MX6上做一个基于Opencv和OpenGL的打砖块游戏
最近一直想搞一个网站,一直偷懒233最近一直在研究OpenGL,顺便搞了一个小游戏玩玩。话不多说上图:就是用下面一个板接住弹来弹去的小球,直到把所有砖块都撞碎主程序主要是开辟一个新线程然后后台监听DBus信号,这个游戏监听汽车上的转盘和按钮发送的DBus信号实现操控。新线程以每秒大约30帧刷新界面。command这个类是用来实现转盘和按钮DBus监听。/*****************...原创 2018-10-10 18:12:49 · 676 阅读 · 0 评论