暂时未有相关云产品技术能力~
ITGEGE在线教育嵌入式开发讲师。 CSDN博客专家、CSDN-Linux特邀编辑、CSDN博乐、CSDN学院讲师,目前从事嵌入式开发领域,从事与单片机,Linux,android相关的产品开发。
#include #include //队列大小 #define SIZE 1024 static int queue[SIZE] = {0}; static int head , tail ; //0 1 int Is_Empty(void) { //判断队列是否...
#include #include #define uchar unsigned char #define uint unsigned int #define SIZE 1024 static int stack[SIZE] = {0}; static int index =...
#include #include #include int main(void) { int len ; int i ; int flag = 0 ; int count = 0 ; char buffer[20] = {'\0'} ;...
#include #include #define NR(x) sizeof(x)/sizeof(x[0]) int Del_char(const char *input, char *output) { int i , j , k = 0; int flag ; ...
#include #include #include #define NR(x) (sizeof(x)/sizeof(x[0])) struct node { int data ; struct node *next ; }; void top_append_li...
typedef unsigned short TUINT16; #define RGB565(R, G, B) \ (((TUINT16) ((R) >> 3)) > 2)) > 3)) #define RGB555_TO_RGB565(X) \ ((((X)&0...
#include //使用二维数组实现 扫雷 int main() { char ui[8][8]={ '+','+','+','+','+','+','+','+', '+','+','+','+','+','...
在PHP中,变量的定义和C语言定义的方法是类似的,但是在PHP中,变量使用起来就非常灵活,一个变量既可以做整型,也可以是浮点型,也可以是字符串或者字符类型,通通只要在变量名前面加一个$然后加上你的变量名,再初始化,那么编译器在编译的时候就可以将对应的转换成为相应的数据类型,这点是跟bash shell 很像的,我们可以来看看: php中的变量 变量: 值存储在内存中 有名称的信息。
学过C语言的话,上手PHP语言就非常快了,如果你有bash shell的基础,那恭喜你,上手PHP会更快,我们先来了解一下一些比较简单的东西,界定符和注释在PHP中的写法: 一 php文档的语法结构 .php ---> html div css php mysql js jquery ajax php定界符:1 标准定界符 xml风格 常用 *******2 短标记了解:3 asp风格 4 scriptphp代码php定界符 可以写在页面的任意位置。
首先我们先来了解一下PHP的一些相关的基础知识: PHP是啥? php其实就是超文本预处理程序,一种制作网站的脚本程序。 通常PHP的运行环境有以下两种:wamp windows+apache+mysql+php 开发 学习 研究lamp linux+apache+mysql+p...
原子变量: arch/arm/include/asm/atomic.h 定义并初始化 atomic_t v = ATOMIC_INIT(0); 写 void atomic_set(atomic_t *v, int i); 读 int atomic_read(atomic_t *v); ...
我们大概都了解,锁这种机制其实是为了保护临界区代码的,关于使用和定义,我总结的API如下: #include 定义自旋锁 spinlock_t lock; 初始化自旋锁 void spin_lock_init(spinlock_t *lock); 获取自旋锁 void spin_...
从百度上得知: 这个函数是一个不回显函数,当用户按下某个字符时,函数自动读取,无需按回车,有的C语言命令行程序会用到此函数做游戏,但是这个函数并非标准函数,要注意移植性! 所以有这样的一个接口,那就很牛逼了,至少可以做个游戏来玩下,结合ASCII码,很容易写个方向键控制的2048或者贪吃蛇等等有趣的游戏出来。
#include #include #define Mode //如果定义了Mode,那么就执行这个函数 #ifdef Mode void print_h(void) { printf("world\n") ; } #else //如果没有定义Mode,那么就执行下面这个函数 vo...
#!/bin/sh # $1 MOUNTDIR $2 TARGETDIR $3 ERRORLOG #参数检查 if test $# -ne 3 then echo "argument check fail" exit 0 fi for i in `ls $1` ...
#!/bin/sh TARGETIP=192.168.88.3 #这里是你要挂在的ftp服务器的IP地址 MOUNTDIR=/mnt TARGETDIR=/root/Desktop/Work ERRORLOG=/tmp/Copy.
查寻内核版本 uname -a // uname -r 进程快照 ps report a snapshot of the current processes USER 进程所属用户 PID 进程ID 进程号 %CPU 进...
题目:有一个3X4矩阵,要求输出其鞍点(行列均最大的值),以及它的行号和列号。 int a[3][4] = {{123,94,-10,218}, {3,9,10,-83}, ...
首先: 1、编写一个hello.sh的程序 hello.sh vim hello.sh #!/bin/sh #作者:yangyx echo “hello shell” 编写完成,接下来我们还需要对她赋予权限 chmod a+x hello.
http://jingyan.baidu.com/article/b24f6c82cba6dc86bfe5da9f.html
一、Linux下多任务机制的介绍 Linux有一特性是多任务,多任务处理是指用户可以在同一时间内运行多个应用程序,每个正在执行的应用程序被称为一个任务。 多任务操作系统使用某种调度(shedule)策略(由内核来执行)支持多个任务并发执行。
标准I/O的由来 标准I/O指的是ANSI C 中定义的用于I/O操作的一系列函数。 只要操作系统安装了C库,标准I/O函数就可以调用。换句话说,如果程序中使用的是标准I/O函数,那么源代码不需要任何修改就可以在其他操作系统下编译运行,具有更好的可移植性。
例如: echo -ne "\33[32m" 可以将字符的显示颜色改为绿色 echo -ne "\33[3;1H" 可以将光标移到第3行第1列处具体的摘抄一些如下: \33[0m 关闭所有属性 \33[1m 设置高亮度 \33[4m 下划线 \33[5m 闪烁 \33[7m 反...
#include #include #include /*插入函数 ccode待插入的字符 anystring被插入的字符串 spos插入到字符串的位置*/ void cinsert(char ccode,char *anystring,int spos) ; /*删除函数 anystri...
【1】一个CPU寻址能力是8KB,那么它的地址总线的宽度为?怎么样计算的? 一个CPU有N根地址线,则可以说这个CPU的地址总线的宽度为N。这样的CPU最多可以寻找2的N次方单元。所以 2^N=8*1024=(2^3)*(2^10)=(2^13)=8192 。
这节,我们继续上,中(以前的日志有)篇目进行分析,结合一个真实的驱动案例来描述linux内核中驱动的中断机制,首先我们先了解一下linux内核中提供的中断接口。 这个接口我们需要包含一个头文件:#include 在中断接口中,最重要的是以下的接口函数: 1、这个是...
OV2685 : CHIP_ID address : 0x300A default : 0x26 address : 0x300B default : 0x85 address : 0x300C defailt : 0x0...
obj-y:打个比方,我要编译的是hello.c这个文件,obj-y就会把hello.c或者hello.c编译生成的hello.s文件链接到内核中去。 obj-m:打个比方,我要编译的是hello.c这个文件,obj-m则是编译成hello.ko,在系统启动的时候,需要手动insmod进行加载,才能加载到内核里面去。
文件类型 权限 硬链接数 所属用户名 文件大小 文件名字 - rw- r-- r-- 1 root root 122 07-22 11:07 abc.
快捷键 ctrl + shift + '+' 将当前的终端放大 ctrl + '-' 将当前的终端放小 ctrl + l 清屏 ctrl + u 将光标前的所有字符删除 ctrl + k 将光标后面的所有字符删除...
如图所示: 数字电路中,把电压的高低用逻辑电平来表示。逻辑电平包括高电平和低电平这两种。不同的元器件形成的数字电路,电压对应的逻辑电平也不同。在TTL门电路中,把大于3.5伏的电压规定为逻辑高电平,用数字1表示;把电压小于0.3伏的电压规定为逻辑低电平,用数字0表示。
现态:当前所处的工作状态 条件:触发动作或者状态迁移的条件((在按键系统中,就是指按键的值) 动作:条件满足后执行的动作(也就是响应各个任务) 次态:状态满足后要迁移的新状态。 代码实现: int step = 0 ; switch(step) { case 0 : .
我们可以看看下图,下图就是一个典型的PWM的波形图。 T是一个周期,T1就是高电平所占用的时间,T2就是低电平所占用的时间。 如上图所示T1为脉冲宽度(就是导通时间),周期为T,则输出电压的平均值为U=VCC*T1/T=a*VCC,a是占空比,变化范围为0≤a≤1。
在大学里,我们都学过单片机,单片机什么东西最重要呢?无疑就是中断,串口,定时器,而串口,恰恰是现实中用得最多的一类。一般公司有固定的串口协议,然后工程师们根据协议来开发产品。 51单片机的串口比较简单,这里我们就直接实现一个例子,串口发送一个命令,单片机接收到后响应,会点亮LED,驱动蜂鸣器,驱动流水灯,其实这样的功能在现实开发中也经常做的。
最近看了一个大神吴坚鸿的文章,他的软件架构写得还是不错的,但是代码风格一般,全局变量满天飞,但开发出来的产品稳定,性能也好。不管怎么说,在企业里,老板只追求结果,不追求过程,即使代码写得再不好,能实现功能就不错了。
最近看了一本书《8051单片机创新教程》,这本书比大学课本写得好,在大学的课本中,我们常见的按键扫描程序如下: unsinged char KeyScan(void) { unsigned char KeyValue=0; if(KEY_IO != 0xFF) //检测到有按键按下 ...
音频操作是linux系统下必不可少,如您需要设计一个播放器,那么音频就是其中的一部分。 方法/步骤 1 音调: 振动的频率; 音量: 振动的幅度; 音色: 不同介质有不同声音; 采样率: 1 秒钟采样声音数据信息量;...
使用电脑的时候,经常会遇到网络相关的问题,以前读大学的时候就知道怎么解决,就是下面这个方案。 开始-全部程序-附件-命令提示符-右键-以管理员身份运行出来一个黑底白字的窗口,在里面输入:netsh i i reset回车,netsh winsock reset回车 然后重...
DS18B20时序分析: 以下是STM32的驱动代码: #include "bsp_ds18b20.h" static void DS18B20_GPIO_Config(void) { GPIO_InitTypeDef GPIO_InitSt...
最近一直在搞一辆智能小车,用STM32单片机驱动,往上面加了很多外设,外型如下: 今天下午打算在LCD显示一个温度,却发现怎么都显示不了,也找不出原因,还好我们公司的郑工帮我看出了问题,让我顺利改过来成功的显示在LCD上,毕竟比我先进公司的工程师还是要有经验一些。
#include #include #define uchar unsigned char uchar BCD_Decimal(uchar bcd) ; int main(void) { uchar ch = 0x20 ; uchar dec = BCD_Dec...
1、单片机IO口上电后默认是高电平。(P1、P2、P3口内部上拉,若P0口未接上拉电阻的话,默认是高阻态) 2、单片机工作频率=晶振频率/12,即使用12MHz的晶振,实际工作频率为1MHz,一个机器周期为1us。
我们都知道,想要驱动linux下的摄像头,其实很简单,照着V4L2的手册一步步来写,很快就可以写出来,但是在写之前我们要注意改变系统的一些配置,使系统支持framebuffer,在dev下产生fb0这样的节点,这样我们才能在linux系统上操作Camera摄像头,framebuffer在之前的博文已经有说过了,这里就不再提了。