单片机
小黄人软件
我手机微信18910620895
展开
-
STM32F103C8T6,keil MDK472 SWD下载模式或调试总是出现Error: Flash Download failed - “Cortex-M3“解决
ARM 32-bit Cortex-M3 Microcontroller, 72MHz, 64kB Flash, 20kB SRAM,PLL, Embedded Internal RC 8MHz and 32kHz, Real-Time Clock,Nested Interrupt Controller, Power Saving Modes, JTAG and SWD,3 Synch. 16-bit Timers with Input Capture, Output Compare and...原创 2020-07-10 15:25:29 · 2888 阅读 · 3 评论 -
Linux下libiconv库安装和使用cannot find -liconv
1.下载wgethttps://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.16.tar.gz2.编译安装libiconv库tar zxvflibiconv-1.16.tar.gz我手工双击解压的cdlibiconv-1.16./configure --prefix=/home/lgl/Desktop/test/outmake...原创 2020-04-01 23:31:11 · 3422 阅读 · 3 评论 -
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 评论 -
开发板可以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 · 2282 阅读 · 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 评论 -
arm linux TCP连指定IP连不上,Ping不通。Ping百度和本地都能通。重插网线都正常。
芯片:AM3352BZCZD60开发板:MC-AM335x-Lite V2.3arm linux TCP指定IP连不上,Ping不通。Ping百度和本地都能通。重插网线都正常。开关网卡测试:ifconfig eth0 downifconfig eth0 up测试不行换个命令ifdowneth0ifup eth0测试关开一次网卡,用这个命令就能连上了。在每...原创 2019-11-20 10:56:53 · 844 阅读 · 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 评论 -
YD/T 1363.3-201X协议 通信局(站)电源、空调及环境集中监控管理系统
测试命令范例ups发送7e 32 31 30 32 32 41 34 32 30 30 30 30 46 44 41 32 0d接收7E 32 31 30 32 32 41 30 30 43 31 37 43 30 30 30 45 44 39 30 45 44 41 30 45 44 42 30 38 39 39 30 38 39 41 30 38 39 42 30 45 44 43...原创 2019-08-27 22:50:16 · 2681 阅读 · 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 · 804 阅读 · 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 · 5867 阅读 · 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 · 3635 阅读 · 7 评论 -
CRC16 单片机版(C语言版) VC版 android版(java) java 校验和 测试通过
CRC校验的基本思想是利用线性编码理论C语言版 单片机版 VC版/**********************************************************************文件名:crc16.c *功能: 计算CRC16循环冗余校验程序,所用方法为计算法 。**************************原创 2013-12-26 15:31:16 · 1809 阅读 · 0 评论 -
生成字节或bin文件 任意语言,任意大小,任意字体,任意格式,任意范围,任意字符,任意扫描方式取模,UNICODE_Font_宋体16_ 纵向取模下高位_数据排列_从左到右从上到下
任意语言,任意大小,任意字体,任意格式,任意范围,任意字符,任意扫描方式取模,生成字节。UNICODE_Font_宋体16_ 纵向取模下高位_数据排列_从左到右从上到下原创 2015-05-05 17:09:57 · 1634 阅读 · 0 评论 -
用定时器中断,单片机中断处理时间大于定时器定时时间会怎样?
用定时器中断,单片机中断处理时间大于定时器定时时间会怎样?如果是不同的中断类型是可以根据优先级嵌套,如果是同一中断类型(如题),有三种结果:1、马上进入新的中断处理(中断嵌套) 2、等待中断处理完再进入新的中断处理 3、出错。单片机中断处理时间大于定时器定时时间,在下次中断时间到时,因为中断是同一类型、同一优先级,所以不会马上进入新的中断处理。而是在本次中断处理结束后,单片机又马上进入新的定时器中断函数,主函数中的语句可能会没有机会运行下去,会影响后面中断的实时性。所以答案为2。如果为了避免原创 2015-01-04 10:11:45 · 11570 阅读 · 4 评论 -
重写I2c 读写AT24C01
/*陈 24C01(1K)存储器I2C总线实验 C语言例子 单字节和无符号长整型读写程序 SDA SCL可以为任意普通I/O *///#include #define TRYTIME 250//失败时,重新试着操作次数//#define SDA P42 //数据线//#define SCL P43 //时钟线#define I2CWRITE 0xA0原创 2013-04-12 16:55:09 · 1671 阅读 · 0 评论 -
程序控制变频电机
有谁做过?不懂?原创 2013-04-23 10:00:34 · 1183 阅读 · 0 评论 -
旋转编码开关用法
旋转编码开关用法By:陈浩 5脚的ALPS: 具有左转,右转,按下三个功能。4、5脚是中间按下去的开关接线 1 2 3脚一般是中间2脚接地,1、3脚上拉电阻后,当左转、右转旋纽时,在1、3脚就有脉冲信号输出了。这是标准资料:在单片机编程时,左转和原创 2013-04-18 08:35:27 · 3875 阅读 · 0 评论 -
算法
dl 0 1 60 sq 不变 实sq =设sqsj+设sqsj*2 * (dl==60); sqsj实=sqsj设实sq=(dl=>60)?设sqsj:( (dl==0) ? 设sqsj*3 :设sqsj*dl*X);dl= 0 1 2 …… 59 60【实sqsj】=【设sqs原创 2013-04-27 10:02:43 · 1363 阅读 · 0 评论 -
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 评论 -
单片机MCU51系列RTOS多任务超微操作系统精髓 简单实现 汇编及C语言混合 keil9.0工程源码
系统设计核心意图:使用定时器,在延时过程中运行其它的任务。工程源码:链接: https://pan.baidu.com/s/1LEV9qYmUn6SdemGz7TH6dw 提取码: iua5切换任务并记录位置,保证在时间到后能切换回来。(在任务中切换出去,在定时器中切换回来。)(时间片轮转)可以支持同时8个任务。工程就两个文件:汇编操作系统rtos_c.asm 及 C语言示例...原创 2014-05-13 10:11:26 · 2626 阅读 · 0 评论 -
VC开发多语言界面 多种方法(很简单) 有源码
VC开发多语言界面 多种方法(很简单) 有源码 :控件使用窗口遍历,非控制使用函数 替换原创 2014-05-12 16:34:42 · 3617 阅读 · 4 评论 -
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系列小型操作系统精髓 简单实现11 C语言版优化后说明(有图)
CRTOS 实时可剥夺型内核1.任务不用预加载,不用预定义。任务调用时加载,可删除(退出死循环即可)2.单位轮转查询时间由晶振和定时器初始化决定。在这里为10ms3.定时时间为【 time*单位轮转查询时间 】 ,其中time为 rtos_wait(time)中time.4.可运行多个任务【自定义】5.任务从rtos_wait()处切换,在定时时间到后从定时中断中切换回来,任务执行后,回到中断,再从中断回到主程序。原创 2014-05-22 15:38:56 · 1052 阅读 · 0 评论 -
队列 句句分析 精辟解释 有图
顺序栈,即栈的顺序存储结构是利用一组地址连续的存储单元依次存放自栈底到栈顶的数据元素,同时附设指针top指示栈项元素在顺序栈中的位置。#include "stdio.h"//包含头文件,就是编译时候把stdio.h中的内容替换到这个位置。struct stack//定义结构体stack{ int length;//定义整型变量length struct data *top;//原创 2014-11-02 22:06:24 · 1021 阅读 · 0 评论 -
真空镀膜机 控制程序 100元
真空镀膜机触摸液晶屏选用DMT80600T080-18WT下位机用STC51的做1:界面可以我自己更换,所有的工作界面上面有一行公司名称,可以我自己更换2:轮流显示界面,点一下屏幕,进入工作状态3:显示1界面,输入密码,旁边还有更改密码功能,4或者6位,更改密码需要输入原来的密码,正确以后才好更改,要输入2次,配套一个数字输入键盘4:输入正确,进入界面2,显示:吸尘,镀膜,原创 2015-02-06 18:48:51 · 1634 阅读 · 0 评论 -
编码开关测试OK陈
sbit BMA = P4^2;//编码开关A引脚1 //必须接上拉电阻680欧sbit BMB = P4^3;//编码开关B引脚3 //必须接上拉电阻680欧 //编码开关引脚2 接地 sbit BMC = P1^6;//编码开关c 按下引脚unsigned int counter = 0; //编码器脉冲原创 2013-03-26 15:11:33 · 1310 阅读 · 1 评论