c语言
小黄人软件
我手机微信18910620895
展开
-
2020-09-30Linux v4l2 camera获得一张jpeg图片 C语言完整源码
压缩包内含2张测试用的320x240大小的yuv格图片,用于测试YUV查看器能否正常打开。RawViewer1.0是一款用于查看播放yuv文件的播放器,支持查看播放及几何变换,可水平镜像、垂直镜像、图像转置、图像缩放与旋转等。camera获得一张jpeg图片库:libjpeg 库安装方法:apt-get install libjpeg-dev或者yum install -y libjpeg libjpeg-devel编译:gcc camera.c ...原创 2020-09-30 15:34:27 · 1165 阅读 · 0 评论 -
c语言源码ping ip通不通 检测摄像头在不在线 立即返回结果linux
#include <stdio.h>#include <sys/ioctl.h>#include <stdlib.h>#include <string.h>/* 执行命令,并赋值@reslut */void executeCMD(const char *cmd, char *result, unsigned long resultLength){ printf("\n执行系统2命令cmd=[%s]\n", cmd); char .原创 2020-08-02 13:10:57 · 644 阅读 · 0 评论 -
linux开发板守护进程_脚本 hold.sh ,farmgate是要守护的进程名,保证有一个且只允许一个实例运行。10秒查一次。killall -9 hold.sh
linux开发板守护进程_脚本 hold.sh ,farmgate是要守护的进程名,保证有一个且只允许一个实例运行。10秒查一次。#!/bin/sh#进程名字可修改 PRO_NAME=farmgatewhile truedo #用ps获取进程数量 NUM=`ps |grep -w ${PRO_NAME} |grep -v "grep" |wc -l` echo $NUM...原创 2020-01-13 14:27:03 · 491 阅读 · 0 评论 -
linux c语言 开发板所有网卡名及IP
linux c语言 开发板所有网卡名及IP#include <arpa/inet.h>#include <sys/socket.h>#include <netdb.h>#include <ifaddrs.h>#include <stdio.h>#include <stdlib.h>#include <...原创 2020-01-07 15:55:24 · 485 阅读 · 0 评论 -
开发板可以ping通IP,但是不能ping百度域名 提示ping: bad address ‘www.baidu.com’
修改DNS就正常。vi /etc/resolv.conf内容改为domain Homenameserver 192.168.1.1原创 2020-01-07 15:19:08 · 3480 阅读 · 0 评论 -
c语言 Linux CURL发送Http get请求 带参数
我要请求的是http://fs.ccic365.com/ccic-fs/IOT/updateData.shtml?sn=111111111&dataTime=2019-01-24 10:45:04&dataList=["1_1_25.44;25.00;21.32;134","2_1_8.51","3_1_6","4_1_85.44;25.00","5_1_8.52","6_1_...原创 2020-01-03 15:07:37 · 2281 阅读 · 0 评论 -
linux修改时间
date查看当前时间date输出Thu Jan 2 10:01:14 UTC 2020date -s "2010-11-12 13:14:15"输出Fri Nov 12 13:14:15 UTC 2010-s是字符串写入硬件hwclock-w-uhwclock命令选项含义 选项 含义 ...原创 2020-01-02 12:27:54 · 538 阅读 · 0 评论 -
C语言温度负数
#include <stdio.h>#include <stdlib.h>#include<string.h> int main(int argc,char *argv[]) { float temp=65519; if (((short)temp) & 0x8000) //负数 { printf("负 %f\n", (-1...原创 2019-12-30 12:07:45 · 794 阅读 · 0 评论 -
C语言任意编码转换,JAVA编码生成,示例汉字UTF-8通过索引数组转为GB2312,没有找到,就跳过并提示加上索引。根据索引找到对应字节,再替换就行了。
通过测试,UTF-8 一个汉字3字节,GB2312一个汉字占2字节,每个字节大小都大于127。128的ACSII是0111 1111 127 7F DEL (delete) 删除根据以上规则:根据索引找到对应字节,再替换就行了。按此方法,可以进行任意编码转换。char s...原创 2019-12-16 10:17:15 · 293 阅读 · 1 评论 -
C语言用sscanf把16进制src字符串转为16进制数组dest 比如:“1234” 转为 {0x12,0x34}
改进:转换后可以放在原数组里,以节约资源。#include <stdio.h>#include <stdlib.h>#include <string.h>//把16进制src字符串转为16进制数组dest 比如:“1234” {0x12,0x34} 返回长度unsigned int HexStringtoByte(char *dest, char ...原创 2019-12-03 15:41:06 · 1877 阅读 · 0 评论 -
C语言字符串追加字符串函数appendchar 删除字符deletechar
:追加 #include <stdio.h>#include <stdlib.h>#include <string.h>void appendchar(void *source, void *des, int source_len, int des_len) { char *pSource=(char *)source; char *pD...原创 2019-11-12 11:16:21 · 3099 阅读 · 0 评论 -
51系列小型操作系统精髓 简单实现5 执行流程
1. 初始化2. 执行完后,记录下一步地址,返回3. 接着task_test2()4. 执行完后,记录下一步地址,返回(与第2步相似)5. 接着主程序While(1);6. 定时是10Ms(18.432MHz) .定时时间到就进入定时中断执行7. 定时中断里,把各定原创 2014-05-20 13:07:10 · 1509 阅读 · 0 评论 -
arm-linux交叉编译范例1 运行提示No such file or directory,arm linux选的gcc版本不对 有4.3.3或4.7,makefile选错了就提示这个
环境vscodegccarm-gcc范例桌面新建文件夹vscode打开文件夹新建一个hello.c文件源码写入#include <stdio.h>int main(int argc,char * argv[]){ printf("hello!!!"); return 0;}编译linux下运行gcc -o he...原创 2019-08-17 10:51:27 · 436 阅读 · 0 评论 -
关于makefile编译gcc程序的写法 简单只看4点就会了 芯片i5,S3C2440,LPC1759-58-56-54-52-51的makefile模版
1.选择哪个编译器CC。比如CC:=gcc2.使用的cpu类型CFLAGS1,CFLAGS2。这个错了会有提示,我虚拟器就用corei7就OKcc1: error: bad value (‘armv4t’) for ‘-march=’ switchcc1: note: valid arguments to ‘-march=’ switch are: nocona core2 nehale...原创 2019-08-23 15:00:58 · 946 阅读 · 0 评论 -
c语言技术验证:带参数及返回值的函数指针数组运用 任务类型数组的长度等
带参数及返回值的函数指针数组运用 # include <stdio.h>//函数定义,可以多个int UpdateValue2(float value){ printf("UpdateValue2:%f\n",value); return 100;}int main(){ //函数指针数组定义 int(*dbcl[])( float value)={Upd...原创 2019-08-31 09:40:42 · 394 阅读 · 0 评论 -
c语言报Bus error 问题解决:使用共享内存把字节数组转为float
#include <fcntl.h>#include <stdio.h>#include <stdlib.h>#include <time.h> #include <stdio.h> union floattestA //使用共享内存把字节数组转为float{ float ...原创 2019-09-05 01:26:46 · 803 阅读 · 0 评论 -
sql查找和删除多字段重复项只保留最小rowid行
--sql查找多字段重复项SELECT Device_ID, Device_Type,Sign_Class,Sign_Name,Sign_State,Sign_No FROM alarm WHERE (Device_ID, Device_Type,Sign_Class,Sign_Name,Sign_State,Sign_No) IN ( SELECT Device_ID, Device_...原创 2019-09-06 12:50:20 · 690 阅读 · 0 评论 -
C语言sscanf()正则表达式注意及截取字符串 提取数字 转16进制字节数组 超简单
截取字符串#include <stdio.h>int main(int argc,char** argv){ const char* in = "a1b2c3ABCdef 123"; char out[100] = {0}; sscanf(in,"%3s", out); printf("截取前3个字符:%s\n",out); sscanf(in,"%*3s%...原创 2019-09-11 11:04:29 · 5861 阅读 · 0 评论 -
line 1: syntax error: unexpected word (expecting ")")或都报段错误 Segmentation fault
问题:上传到板子的可执行文件,运行后出现 line 1: syntax error: unexpected word (expecting ")")[或者报段错误Segmentation fault开发板:三星S3C2440原因:XFTP6教育版,有问题。解决:关闭Xftp6,重新打开,先删除里面的同名文件,再上传,OK。...原创 2019-09-17 11:40:49 · 1216 阅读 · 0 评论 -
无线模块AS32-TTL-100 LoRa使用测试OK
无线模块:AS32-TTL-100 //接口板lora工作步骤 //休眠md0=1 ,md1=1 进入配置 //恢复默认参数0xC9 0xC9 0xC9 返回OK //配置接口板接收地址固定为0xffff (监听模式)或0x0000,定向传输。0xC0, 0xFF, 0xFF, 0x1A, 0x17,0xC0 //配置确认 0xC1 0xC1 0xC...原创 2019-09-29 13:34:05 · 3633 阅读 · 7 评论 -
最简单的计算GBK偏移量 java版 取模时用到
GBK码位分配及顺序GBK 亦采用双字节表示,总体编码范围为 8140-FEFE,首字节在 81-FE 之间,尾字节在 40-FE 之间,剔除 xx7F 一条线。总计 23940 个码位,共收入 21886 个汉字和图形符号,其中汉字(包括部首和构件)21003 个,图形符号 883 个。1.直接计算 java版import java.io.Unsupporte原创 2017-06-24 17:12:47 · 1218 阅读 · 0 评论 -
CRC16 单片机版(C语言版) VC版 android版(java) java 校验和 测试通过
CRC校验的基本思想是利用线性编码理论C语言版 单片机版 VC版/**********************************************************************文件名:crc16.c *功能: 计算CRC16循环冗余校验程序,所用方法为计算法 。**************************原创 2013-12-26 15:31:16 · 1807 阅读 · 0 评论 -
51系列小型操作系统精髓 简单实现10 C语言版优化后发布(有图)
4个任务 /*使用keil4 可运行8个任务任务从rtos_wait()处切换,在定时时间到后从定时中断中切换回来。*/#include "STC12C5A.H"#define TIMER_RELOAD() {TL0=0x00;TH0=0xC4;}//使能T/C 初始10ms#define MAX_TASKS 8 //任务槽最大个数.unsig原创 2014-05-22 14:54:26 · 1080 阅读 · 0 评论 -
51系列小型操作系统精髓 简单实现7 C语言版待改进
#include "STC12C5A.H"#define TIMER_RELOAD() {TL0=0x00;TH0=0xC4;}//使能T/C 初始10ms#define MAX_TASKS 2 //任务槽最大个数.unsigned char idata task_stack[MAX_TASKS][2];//任务堆栈. PC指针为16位,需2个字节task_st原创 2014-05-21 17:41:01 · 1210 阅读 · 0 评论 -
51系列小型操作系统精髓 简单实现6 C语言版待改进
#include "STC12C5A.H"#define TIMER_RELOAD() {TL0=0x00;TH0=0xC4;}//使能T/C 初始10ms#define MAX_TASKS 8 //任务槽最大个数.unsigned char idata task_stack[MAX_TASKS][2];//任务堆栈. PC指针为16位,需2个字节。unsi原创 2014-05-20 15:33:13 · 1229 阅读 · 0 评论 -
单片机MCU51系列RTOS多任务超微操作系统精髓 简单实现 汇编及C语言混合 keil9.0工程源码
系统设计核心意图:使用定时器,在延时过程中运行其它的任务。工程源码:链接: https://pan.baidu.com/s/1LEV9qYmUn6SdemGz7TH6dw 提取码: iua5切换任务并记录位置,保证在时间到后能切换回来。(在任务中切换出去,在定时器中切换回来。)(时间片轮转)可以支持同时8个任务。工程就两个文件:汇编操作系统rtos_c.asm 及 C语言示例...原创 2014-05-13 10:11:26 · 2625 阅读 · 0 评论 -
VC开发多语言界面 多种方法(很简单) 有源码
VC开发多语言界面 多种方法(很简单) 有源码 :控件使用窗口遍历,非控制使用函数 替换原创 2014-05-12 16:34:42 · 3614 阅读 · 4 评论 -
51系列小型操作系统精髓 简单实现4
#include #define MAX_TASKS 2 //任务槽个数.必须和实际任务数一至#define MAX_TASK_DEP 12 //最大栈深.最低不得少于2 个,保守值为12.unsigned char idata task_stack[MAX_TASKS][MAX_TASK_DEP];//任务堆栈.unsigned char idata task_sp[MA原创 2014-05-16 12:07:46 · 1250 阅读 · 0 评论 -
51系列小型操作系统精髓 简单实现2
在51单片机中,不能直接修改PC,但有一种方法是可以改变PC的。函数调用里会把PC值压入堆栈中,调用结束后,会把PC值弹出到PC中。原创 2014-05-16 08:52:18 · 1223 阅读 · 0 评论 -
51系列小型操作系统精髓 简单实现3
现在遇到的问题:1.任务不用预加载,进入一个任务,加载一个任务。没有任务时,定时器怎么处理?当只有一个任务时,怎么处理?多个任务怎么轮转或按优先级切换? 2.关于各任务定时时间,一个一个地减是否麻烦,有没有更好的方法?3.没有保护寄存,这样切换,是否对?当任务函数有多个层嵌套时,有没有问题?#include "STC12C5A.H"#define TIMER_RELOAD(原创 2014-05-16 09:04:25 · 1648 阅读 · 0 评论 -
51系列小型操作系统精髓 简单实现11 C语言版优化后说明(有图)
CRTOS 实时可剥夺型内核1.任务不用预加载,不用预定义。任务调用时加载,可删除(退出死循环即可)2.单位轮转查询时间由晶振和定时器初始化决定。在这里为10ms3.定时时间为【 time*单位轮转查询时间 】 ,其中time为 rtos_wait(time)中time.4.可运行多个任务【自定义】5.任务从rtos_wait()处切换,在定时时间到后从定时中断中切换回来,任务执行后,回到中断,再从中断回到主程序。原创 2014-05-22 15:38:56 · 1051 阅读 · 0 评论 -
51系列小型操作系统精髓 简单实现8 C语言版待改进
使用keil4 ,代码Code Optimization:0 运行OK可运行8个任务Program Size: data=21.0 xdata=0 code=401 (包括2个示例变量,未优化)任务从中断处切换,在定时时间到后从定时中断中切换回来。待改进地方1.手动优化汇编程序2. 重入问题3.参数进函数和时中断的保护问题原创 2014-05-22 13:58:19 · 1204 阅读 · 0 评论 -
队列 句句分析 精辟解释 有图
顺序栈,即栈的顺序存储结构是利用一组地址连续的存储单元依次存放自栈底到栈顶的数据元素,同时附设指针top指示栈项元素在顺序栈中的位置。#include "stdio.h"//包含头文件,就是编译时候把stdio.h中的内容替换到这个位置。struct stack//定义结构体stack{ int length;//定义整型变量length struct data *top;//原创 2014-11-02 22:06:24 · 1021 阅读 · 0 评论 -
对话框android
new AlertDialog.Builder(this).setTitle("提示").setMessage("调用版时间到,请联系软件作者QQ:345139427").setPositiveButton("退出",new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInter原创 2014-09-23 16:49:48 · 740 阅读 · 0 评论 -
51系列小型操作系统精髓 简单实现12 C语言版未加保护参数
CRTOS 实时可剥夺型内核1.任务不用预加载,不用预定义。任务调用时加载,可删除(退出死循环即可)2.单位轮转查询时间由晶振和定时器初始化决定。在这里为10ms3.定时时间为【 time*单位轮转查询时间 】 ,其中time为 rtos_wait(time)中time.4.可运行多个任务【自定义】5.任务从rtos_wait()处切换,在定时时间到后从定时中断中切换回来,任务执行后,回到中断,再从中断回到主程序。原创 2014-05-26 14:33:54 · 938 阅读 · 0 评论 -
VC 画坐标 方法
//画坐标 CPaintDC dc(this);CRect rect;GetClientRect(&rect);CPen pen,*pOldPen;pen.CreatePen(PS_SOLID,1,RGB(255,0,255));pOldPen=dc.SelectObject(&pen); dc.MoveTo(rect.right-10,rect.bottom-30原创 2014-05-25 16:10:02 · 882 阅读 · 0 评论 -
轻松学霸 (程序员思考方式)——1 十种有效的学习方法
特别推荐下列十大学习方法1.目标学习法把一个伟大的目标,拆分成一个个小目标,再把小目标分成各个步骤。按步骤当学霸。就像程序中只有0和1一样。so easy.目标拆分还有一个好处,可以多任务并行处理。如在路途中,不能看书,那就听书。a.目标是什么?一定要明确,有标准。b.此时时刻做到哪一步了?c.是否完成?2.问题学习法带着问题去看书,有利于集中注意力,目的明原创 2014-06-09 11:10:12 · 1664 阅读 · 1 评论 -
51系列小型操作系统精髓 简单实现12 C语言版加保护参数
/*CRTOS 实时可剥夺型内核1.任务不用预加载,不用预定义。任务调用时加载,可删除(退出死循环即可)2.单位轮转查询时间由晶振和定时器初始化决定。在这里为10ms3.定时时间为【 time*单位轮转查询时间 】 ,其中time为 rtos_wait(time)中time.4.可运行多个任务【自定义】5.任务从rtos_wait()处切换,在定时时间到后从定时中断中切换回原创 2014-05-23 13:11:21 · 1079 阅读 · 1 评论 -
51系列小型操作系统精髓 简单实现12 C语言版再优化
CRTOS 实时可剥夺型内核1.任务不用预加载,不用预定义。任务调用时加载,可删除(退出死循环即可)2.单位轮转查询时间由晶振和定时器初始化决定。在这里为10ms3.定时时间为【 time*单位轮转查询时间 】 ,其中time为 rtos_wait(time)中time.4.可运行多个任务【自定义】5.任务从rtos_wait()处切换,在定时时间到后从定时中断中切换回来,任务执行后,回到中断,再从中断回到主程序。原创 2014-05-23 09:29:12 · 1089 阅读 · 4 评论 -
51系列小型操作系统精髓 简单实现9 C语言版优化后发布(有图)
/*使用keil4 可运行8个任务任务从rtos_wait()处切换,在定时时间到后从定时中断中切换回来。*/#include "STC12C5A原创 2014-05-22 14:33:51 · 1215 阅读 · 0 评论