李田田丨写给家乡:离开是为了有尊严地活着!

2021年推特网黄Top10排行榜

【真实案例】“汤兰兰案”真相分析 谎言与兽行终将惊世骇俗

许家印“隐身”恒大的200天丨棱镜

周涛被查!

分享到微信朋友圈

点击图标下载本文截图到手机
即可分享到朋友圈。如何使用?

自由微信即将改版!花5分钟留下你宝贵的意见

嵌入式云IOT技术圈

还在用传统的方式驱动一个通信模组?不如一起来学习下TOS的AT模组框架吧!

interface的socket、connect、send、recv、close等等接口完成我们与后台的通信或者与别的通信方式的逻辑即可,但是调用SAL接口口还需要去与各个模组进行适配。
2020年9月23日

移植uc/OS-III最新版到小熊派开发板(STM32L431)

https://github.com/SiliconLabs/uC-LIB.git二、移植前的准备本文中使用的开发板为小熊派IoT开发板,主控为STM32L431RCT6:
2020年9月23日

TencentOS tiny RTOS快速入门

关于怎么使用信号量,可以参考腾讯物联网终端操作系统开发指南.pdf文档,以下工程基于多任务例程修改,接下来,进入信号量程序编写,我们主要实现生产者和消费者的问题,这段程序在参考文档里可以找到:
2020年9月15日

天啊!鹅厂都开始做开发板了?网红腾讯物联网开发板终极开箱评测,让我们一睹为快!

前几天拿到了腾讯汪总赠送的EVB_MX+以及EVB_LX开发板,它们长下面这个样子,看起来很轻便,即使是外出我也可以随身带着它随时随地进行玩耍,就和小熊派一样,整体给人感觉就非常舒服。
2020年9月11日

Linux进程间通信(下)之共享内存实践

shmflg);当我们第一次创建完共享内存时,它还不能被任何进程访问,shmat函数就是用来启动对共享内存的访问,并把共享内存连接到当前进程的地址空间。
2020年9月9日

Linux进程间通信(中)之信号、信号量实践

信号发送主要函数有kill和raise。上面我们知道kill函数的用法也清楚kill函数是可以向自身发送信号和其它进程发送信号,raise与之不同的是只可以向本身发送信号。
2020年9月8日

STM32硬核DIY机械键盘|蓝牙USB双模|灯控

"LCtrl","Win","LAlt","Space","RAlt","FN","Menu","RCtrl","Left","Down","Right","","","","",""};const
2020年9月3日

Linux进程间通信(上)之管道、消息队列实践

注:如果mkfido的第一个参数已经是一个已经存在的路径名时,就会返回EEXIST错误,所以当我们调用的时候首先会检查是否返回该错误,如果返回该错误那我们只需要直接调用打开FIFO的函数即可。
2020年9月1日

C/C++函数指针与指针函数

类型的指针声明一个指针变量并不会自动分配任何内存。在对指针进行间接访问之前,指针必须进行初始化:或是使他指向现有的内存,或者给他动态分配内存,否则我们并不知道指针指向哪儿,这个问题需要特别关注。
2020年9月1日

C语言三剑客之《C陷阱与缺陷》一书精华提炼

(*h)();表示*g()和(h)()都是float表达式。由于()比绑定得更紧密,g()和(g())表示同样的东西:g是一个返回指float指针的函数,而h是一个指向返回float的函数的指针。
2020年8月27日

C语言三剑客之《C专家编程》一书精华提炼

在宏扩展中,空格会对扩展的结果造成很大的影响。宏后面不可加';',它不是C语句。宏最好只用于命名常量,并为一些适当的结构提供简捷的记法。宏名应该大写这样便很容易与函数调用区分开来。
2020年8月26日

一个超火超给力的STM32开源疫情监控项目

MCU。在前面两个平台上实现之后,就想着在内存和性能都比较有限的MCU上实现,比如STM32F103,但一直都没有找到一个合适的API接口,直到最近发现了一个数据量比较小,连接比较稳定的API。
2020年8月20日

一个超酷的开源uHand2.0机械手掌项目

不管是通过什么方式去控制手掌运动,能有一套公有的通信协议那就再好不过了,那么uHand2.0对这一套协议也是完全开源的,我们来阅读一些基础协议,以便于我们后面入门各个软件程序。
2020年8月17日

一些实用的C语言小技巧

分享单片机、嵌入式Linux/Android、物联网等相关产品项目开发经验,打造最硬核嵌入式技术公众号。
2020年8月16日

由static来谈谈模块封装

欢迎关注嵌入式客栈,主要分享嵌入式Linux系统构建、嵌入式Linux驱动开发、单片机技术、FPGA开发、信号处理、工业通讯等技术主题。欢迎关注,一起交流,共同进步!
2020年8月4日

居民身份证阅读器产品开发学习心得(再谈标准-软件-协议)

true;}操作顺序:发送复位SAM_A指令===>将身份证放置在制具阅读区===>发送寻找居民身份证指令===>发送选取居民身
2020年8月4日

C语言常用的一些转换工具函数收集

result;}//str转换为数字,以','或者'*'结束//buf:数字存储区//dx:小数点位数,返回给调用函数//返回值:转换后的数值int
2020年7月28日

结构体对齐原则在自定义协议解析时的妙用之法

}}从这里可以看到,串口接收的数据是一个字节一个字节进行接收,所以接收的每个数据类型一致,我们就可以直接定义一个结构体,按照协议定义的顺序,将数据缓冲区中的数据依次读取出来。
2020年7月23日

【为宏正名】本应写入教科书的“世界设定”

真是哭笑不得。这些规则是如此简单,介绍一下根本无需多么复杂的篇幅。接下来,让我们简单的学习一下这些本应该写入教科书中的基本内容。注意,这与你们在其它公众号里学到的关于某些宏的基本使用方法是两回事。
2020年7月21日

【为宏正名】99%人都不知道的"##"里用法

*cfg_ptr);为了简化用户的配置过程,初始化函数会检查指针cfg_ptr是否为NULL,如果为NULL则自动使用默认配置,反之将使用用户定义的配置。此时,我们可以通过宏来提供默认值NULL:
2020年7月21日

Linux 进程必知必会

信号会通知当前进程应该被杀死。除此之外,进程可以选择它想要处理的信号,进程也可以选择阻止信号,如果不阻止,可以选择自行处理,也可以选择进行内核处理。如果选择交给内核进行处理,那么就执行默认处理。
2020年7月15日

搞嵌入式开发却不会写上位机?来了解下小白的福音Micro-Lab(多个案例带你快速入门)

切换到组态画布页面,然后手动将左边相关控件拖放到中间控件放置区域,选中其中一个控件时,可以通过右边更改控件的属性,和玩串口屏是类似的操作,即使完全没有用过,不看说明文档也能快速上手。
2020年6月30日

分享两个C库源码中的移位函数

分享单片机、嵌入式Linux/Android、物联网等相关产品项目开发经验,打造最硬核嵌入式技术公众号。
2020年6月27日

动手智能小车记(5)-坦克底盘硬件模块大杂烩

完整程序等我把小车DIY完,会把硬件模块、软件程序等全部开源,如需学习温老师的笔记,请在公众号后台回复STM32学习笔记获取,本着分享原则,本资源从网上搜索获取,如有违规,请联系我删除,谢谢!
2020年6月27日

STM32在线升级OTA,看这一篇就够啦~

i; if(Get_state()==TO_START) { send_command(CCC); HAL_Delay(1000); } if(Rx_Flag)
2020年6月20日

ESP8266实战贴:使用HTTP POST请求上传数据到公有云OneNet

温馨提示:如果您手上有小熊派开发板,请修改以上红框字段,其余部分程序不需要修改,平台的话,按文章中在平台上做相应的设置即可,最后直接下载到开发板上,打开串口终端以及OneNet平台查看实验结果。
2020年6月20日

一些不可不知的计算机网络基础

QoS2:这是最高等级的服务质量,消息丢失和重复都是不可接受的。只不过使用这个服务质量等级会有额外的开销,这个等级常用于支付中,因为支付是必须有且仅有一次成功,总不能没给钱或者给了多次钱吧。
2020年6月17日

实战贴:开源GUI STemWin在小熊派上的移植(显示很漂亮、很细腻,棒!)

"lcd.h"注意lcd.h中并没有写命令和写数据的函数声明,这里我们需要将lcd.c修改一下,然后在lcd.h导出这两个函数,才能给LCDConf_FlexColor_Template.c使用。
2020年6月10日

实战贴:开源GUI LittlevGL在MCU上的移植

将lvgl源码包下porting文件夹中与LCD相关的配置模板拷贝出来放到lvgl_driver下,并分别更名为lv_port_disp.c和lv_port_disp.h:
2020年6月7日

第10期 | ringbuff,通用FIFO环形缓冲区实现库

ringbuff中默认volatile关键词没有定义,需要手动配置一下,在ringbuff.h中:至此,ringbuff移植修改完成,可以愉快的使用ringbuff啦~
2020年6月7日

会C/C++就可以开发Linux/Android应用程序?替代传统串口屏的Yoxios了解一下!

HMI去操控它。当你使用Yoxios的时候,也顺便将Linux应用开发一起学习并且掌握了,不得不说这是一个利器,不单是开发简单,也能让一直从事单片机开发的小伙伴们轻轻松松入门Linux应用。
2020年5月28日

【编译器玄学研究报告】第一期——位域和volatile

通常,大部分外设都支持多种访问对齐形式,比如WORD对齐、Half-WORD对齐和字节对齐,所以你不太会遇到这类问题。但有些外设本身设计比较“朴素”——你可能就会遇到这类没有盖上盖子的下水道。
2020年5月26日

移植一个实时OS很难?那就手把手教你如何快速移植一个RT-Thread Nano吧!

优化等级越高,则相应的编译时间就越长,一般采用-O0进行验证,没有问题后再选择-O3编译,如果出现变量被优化;导致系统明明逻辑正确却有一些莫名其妙的问题也能够根据实际调试情况进行修改。
2020年5月25日

韦东山:6000字长文告诉你如何学习linux

所以,我高大上的应用工程师,干嘛苦哈哈地去看原理图、看芯片手册、读写寄存器,搞不好还要去调试硬件BUG。这些脏活、累活就交给驱动工程师吧。客户的需求千变万化,我996时间都不够用了。
2020年5月21日

MCU SPI屏也能跑这么炫酷的特效?来,移植起来秀一秀

最后通过Debug发现,由于UIcode是采用堆进行分配的,而小熊派上的LCD分辨率是240*240,所以我们需要调整下堆区的大小,这样程序跑起来就不会有问题了。
2020年5月21日

技术宅的浪漫——教你制作“520”表白神器

将一块精美的小熊派开发板放在你心仪的对象面前,上电,用你真诚的双眸看着她(他),用你生平以来最磁性(诱惑)的声音说:“我的小熊派好看吧~”
2020年5月20日

圆曾经的小车梦,造一台智能小车(四)之QT上位机控制小车

这里我们分别选择pressed()和released()这两个信号,意思是按下和释放,然后点击OK,程序就会自动生成对应的槽函数,依次类推,我们为前进、后退、左转、右转这四个按钮都这么来设置。
2020年5月20日

代码写得很牛逼但UI界面却搞得很丑?来,杨工带你!

很多嵌入式软件工程师都抱怨,哎,不懂PS呀,不会P图,其实对于我们嵌入式软件工程师而言,我们最关心的是显示图标的格式、尺寸大小,这就够了,至于显示在软件上的哪个位置,需要根据现实情况随时进行调节。
2020年5月19日

圆曾经的小车梦,造一台智能小车(三)之小车前进后退左右转基本框架

看到这里,那大家可能就会说了,如果我只给某个IO输出一个高电平,这样电机不就一直是全速前进或者全速后退吗?怎么能控制电机的速度呢?怎么能实现左转、右转呢?这里需要用到PWM的知识,什么是PWM呢?
2020年5月18日

C语言、嵌入式中几个非常实用的宏技巧

};显然,出现了语法错误。if之后的大括号之后不能加分号,这里的分号其实可以看做一条空语句,这个空语句会把if与else给分隔开来,导致else不能正确匹配到if,导致语法错误。
2020年5月18日

圆曾经的小车梦,造一台智能小车(二)

由于手上的物料还没有全部到齐,所以还没法往下干,明天晚上下班回家就到了!上节已经说过会了解多平台的开发,所以今天咱们就来了解一个MCU界大杀手,超级简单的开发神器,人称创客之魂-Arduino。
2020年5月12日

为什么很多人编程喜欢用typedef?

name[]);上面的指针数组定义,很多人一瞅估计就懵逼了。我们可以使用typedef优化一下:先声明一个函数指针类型func_ptr_t,接着再定义一个数组,就会更加清晰简洁,可读性就增加了不少:
2020年5月11日

圆曾经的小车梦,造一台智能小车(一)

没问题,安排!杨工本人做事风格就是这么直接,说做就做,从不放弃也不马虎应付,对于本职工作也是一样,只要是我的东西,着急那就是拼了自己的休息时间回家也得加加班干到凌晨也得干好,这是我个人做事的态度。
2020年5月11日

Neil的MCU软件框架经验分享

因为我做的项目中,很多功能片都是在100ms中调用的,所以为了防止太多任务同时调用影响时间片,将100ms分割成10个子任务片(时间平衡处理),而对应的标志是在上图中的10ms时间片产生。
2020年5月7日

MCU串口命令解析器的实现

当然,除了杰杰开源的cmd-parser,还有很多优秀的指令解析器,比如RT-Thread的finsh,还有比如世伟兄之前发的一期项目源码分析的letter-shell,原理都差不多:
2020年5月7日

华为LiteOS智慧路灯项目案例学习笔记(一)

智慧路灯的源码包可以在小熊派开发板资料里获取:智慧路灯案例的开发流程主要分为以下几步:接下来直接开干,华为云设置起来简直太麻烦了,希望后面官方有机会再优化优化吧,以下是基本流程。
2020年5月3日

嵌入式云IOT技术圈公众号精选文章专题汇总

这里我给大家申请到了福利,本公众号读者购买小熊派开发板可享受9折优惠,有需要购买小熊派的朋友,淘宝搜索即可,跟客服说你是公众号:嵌入式云IOT技术圈
2020年5月3日

TKM32F499评估板串口通信学习与实践笔记

UART_HardwareFlowControl_RTS_CTS))一般工程应用中会直接将这个设置为UART_HardwareFlowControl_None
2020年5月2日

RT-Thread RTC设备学习笔记

RT-Thread为RTC设备提供了三个用户层次的应用操作接口,分别是设置日期、设置时间和获取当前时间。在RT-Thread的设备中,有且仅有一个RTC设备,设备名称为"rtc"。
2020年5月2日

bin文件转换为hex文件C语言实现

/********************************************************************************input: dest:
2020年4月29日

RT-Thread I2C总线设备学习笔记

I2C总线设备的使用!这是RTT官方设计的一个软件框架,学习一个新东西,还是一样,我个人主张带着需求去学习,而不是漫无目的的去学,有了需求驱动,并且是一个努力付出就可以拥有的成果,那么这还不容易嘛!
2020年4月29日

推荐三个我工作中经常使用的驱动大全wiki(建议收藏并转发让更多人知道!)

wiki,这里开放了常见的一些LCD模块的源代码以及使用教程,都是可以免费下载的,跟着教程只需修改硬件部分即可轻松适配驱动!随便点开一个看看,如果英文不好主页有一个可以选择中文语言浏览。
2020年4月28日

最近收集的开源项目专栏(持续更新,收好车轮,方便造车)

在嵌入式系统或单片机程序开发过程中,经常会遇到各种按键的需求,比如按键短按、按键长按、按键双击,这些功能虽然不难,但想要完全写好这些功能并不简单。网上已经有大神实现了这样的组件,该组件的特性如下:
2020年4月28日

再谈指针:大佬给你拨开 C指针 的云雾

&a[0];指针的运算当指针指向数组元素的时候,可以对指针变量进行「加减」运算,+n表示指向p指针所指向的元素的「下n个元素」,-n表示指向p指针所指向的元素的「上n个元素」。并不是将地址加1。
2020年4月27日

RT-Thread ADC设备学习笔记

close);由于我们这里使用了符号导出,只有做了符号导出,Finsh解析器才会识别当前程序支持的是哪个命令,当前的命令为adc_cmd,所以,在串口终端我们这么来操作就行了:
2020年4月27日

关于我平时自己补充知识的免费极为优秀的国内平台推荐(精华)

分享单片机、嵌入式Linux/Android、物联网等相关产品项目开发经验,打造最硬核嵌入式技术公众号。
2020年4月26日

RT-Thread PIN设备学习笔记

Studio更具优势,节省很多配置的时间,让开发者可以更专注于应用,后期我们将会更加深入的去分析实现过程,我们不但要知其然,而且要知其所以然,这才是我们的终极目的!
2020年4月26日

变量命名还在谷歌百度翻译?OUT啦!分享一个我日常工作中常用的变量命名神器!

这里我给大家申请到了福利,本公众号读者购买小熊派开发板可享受9折优惠,有需要购买小熊派的朋友,淘宝搜索即可,跟客服说你是公众号:嵌入式云IOT技术圈
2020年4月24日

你真的会使用思维导图吗?四个方面阐释思维导图的运用

bear,而是可以记住一片相关事物,能记住那些,恰恰是大脑皮层最活跃的存储区域,如果你关心政治,记住的就是与熊相关的政治词汇,比如:“Russsia”,如果你关注电影,你记住的就是关于熊的电影等等。
2020年4月24日

WIFI DTU产品设计与实现(基于STM32F103+QT配置上位机案例设计分享)

1); //设置颜色为紫色}当用户短按按键时,进入系统存储配置检测模式,此时判断在系统初始化时读取FLASH的参数的参数,如果没有相应的参数,则用户需要长按按键切换到配置模式进行参数设置。
2020年4月22日

基于LiteOS的智慧农业案例实验分享

一款产品的设备上报数据时,如果“数据格式”为二进制码流,则该产品需要进行编解码插件开发;如果“数据格式”为JSON,则该产品下不需要进行编解码插件开发。两种数据举例:
2020年4月21日

云之手红外式测温计产品设计分享(基于合泰BH67F2752方案)

今天,就来介绍下深圳市云之手科技有限公司的测温产品,出自陈工之手,这也是他个人目前开源的第二个项目,也是个非常成功的项目,产品已经实现大批量产。第一个开源DIY项目链接如下:
2020年4月21日

火爆全网开源额温枪同平台之华大HC32L136 SDK开发入门

*)0x40002000UL)这里的操作和stm32类似,就是将一个物理地址0x40002000UL强转为一个结构体M0P_SYSCTRL_TypeDef通过映射表我们也知道这个地址的含义是什么。
2020年4月20日

基于小熊派气体传感器MQ-2综合实践

//printf("烟感值:%d\n",mq2_sensor_interface.get_smoke_value(&mq2_sensor_interface));
2020年4月20日

分享一个近期开源火爆全网的额温枪方案(硬件+源码)

即可获取,如遇链接失效,请加开源项目分享群获取!所有开源项目均为CSDN下载或者其它开发者论坛收集,如有违规,请联系删除即可,本人不承担任何法律责任。
2020年4月18日

基于小熊派SD卡+Fatfs+移植开源iniparse解析库并使用

还记得在上上节WIFI配网的粗暴方式,就可以以这种粗暴的方式直接改SSID和PASSWORD,然后产品开机直接就加载SD卡ini文件中的SSID和PASSWORD。
2020年4月17日

EasyLogger,一款轻量级且高性能的日志库

log);}这儿有个小知识点,%s表示字符串输出,.是精度控制格式符,输出字符时表示输出字符的位数,在精度控制时,小数点后的十进制数可以使用*来占位,在后面提供一个变量作为精度控制的具体值。
2020年4月17日

基于小熊派WIFI-ESP8266实践(中)-多功能处理显示等大杂烩

由于软件接收的AT指令回复有可能是不定长数据,且可能存在多个\r\n的情况,所以这里我们使用DMA来做接收会更简单一些,一般用环形缓冲实现也可以,但是STM32有这么优秀的DMA功能,我当然用!
2020年4月16日

基于小熊派WIFI-ESP8266实践(上)

这里我给大家申请到了福利,本公众号读者购买小熊派开发板可享受9折优惠,有需要购买小熊派的朋友,淘宝搜索即可,跟客户说你是公众号:嵌入式云IOT技术圈
2020年4月15日

衣带渐宽终不悔!嵌入式大牛10年调Bug经验总结

(b)提高软件知识和技术只是问题的表面,本质是要提高自己认识问题、分析问题、解决问题的思想高度。软件专业知识的很多方法和原理,可以很容易地延伸、应用到生活的其它方面。
2020年4月15日

深圳云之手科技开源炫酷RGB灯板DIY项目

链接:https://pan.baidu.com/s/1PTKICAxeWnwiP_PXJaM3OQ提取码:d3eo往期精彩STM32F103产品级开源项目:iLook.Time设计解读
2020年4月14日

基于小熊派光强传感器BH1750状态机驱动项目再度升级(带上位机曲线显示)

2020-04-13T20:46:41##-------------------------------------------------QT
2020年4月14日

STM32F103产品级开源项目:iLook.Time设计解读

mon_task_loop_cnt;/********************************************************************************
2020年4月12日

TKM32F499高性能MCU评估板试用之万事开头难,先点个灯来压压惊!

根据官方对评估板的介绍,用户不需要关心环境设置以及路径设置,所有的一切,他们都帮我们配置好了,所以我们只需要拿到程序的工程文件,直接就可以开始编写代码,其它一些特殊的说明直接查看资料包即可。
2020年4月12日

C语言#和##连接符在项目中的应用(漂亮)

BUF_PREF(buffer_init)BUF_PREF(buff_free)BUF_PREF(buff_write)BUF_PREF(buff_read)等等。。。接下来看看到底是怎么用的:
2020年4月11日

基于小熊派光强传感器BH1750状态机驱动项目升级(带LCD屏显示)

今天我们再小小的进阶一步,把它和小熊派上的OLED结合起来吧!所谓所见即所得,这才是开发最大的乐趣,在实现这个小项目之前,我们先来了解下小熊派开发板上的这个屏吧,先看下原理图是怎么接的:
2020年4月10日

程序员们赶快醒醒,提升认知比不停写代码更重要

事实就是客观上正确的东西,就是能被证明的或者普世性的正确结论。譬如“地球是圆的”,或者“地球绕着太阳转”这些就是事实。不管你信不信,不管你能不能亲眼看到,它就是事实(至少普遍意义上认为它是事实)。
2020年4月10日

基于小熊派光强传感器BH1750实践(multi_timer+状态机工程应用)

实际开发建议硬件外设分模块,这样看起来不要把所有的生成全部都挤到main.c里面去了,这点让我非常讨厌,所以生成工程时候习惯点击设置以下这一项:
2020年4月8日

STM32的ISP下载的原理是什么呢?

这一段BootLoader程序源码是没有开源出来的,用户是不可修改的。我们在上一篇笔记的IAP实验中,IAP程序通过FlyMCU软件进行烧录,烧录的地址就是0x08000000。
2020年4月7日

超轻量级网红软件定时器multi_timer(51+stm32双平台实战)

链接:https://pan.baidu.com/s/1xwCnkMDnwjPTrKd8ulw58w提取码:eo5y复制这段内容后打开百度网盘手机App,操作更方便哦注意:
2020年4月7日

我学的技术会不会过时甚至被淘汰

所以你再想想,是技术落后了还是你落后了?是技术被淘汰还是你被淘汰?假如你是一个程序猿,竞争和淘汰你的是技术发展吗?不,淘汰你的永远是你的同事,也就是新进入的新手程序猿,或者和你一样的存量老程序员。
2020年4月4日

网红物联网开发板小熊派使用评测

开发板一个地方设计得非常贴心,那就是按键,当我们调试按键功能的时候,不会发出响声,这充分考虑到噪声对家人、同事、朋友的影响,如果你整天按那种噼里啪啦的按键,这真的会非常影响心情。
2020年4月4日

实战经验:stm32cubMX自动生成遇到的坑爹问题(Freertos)

那如何来解决这样的问题呢?其实很简单,加一个标志变量就可以了,在os没起来之前,我们不让发送信号量的这句话执行,等os起来以后,才让发送信号量这句话执行,否则会带来灾难性的结果。
2020年4月2日

RT-Thread UART设备驱动框架初体验(中断方式接收带\\r\\n的数据)

uart_recv_callback);//这里uart_recv_callback即是串口的中断回调函数,当接收到数据时会触发回调函数。//需要用户自己去实现。回调函数实现如下:
2020年4月2日

C语言字符串的另类用法

分享单片机、嵌入式Linux/Android、物联网等相关产品项目开发经验,打造最硬核嵌入式技术公众号。
2020年4月1日

以过来人经验分享学习与工作

近来公众号增加了不少粉丝,我决定把我之前写的一些经验分享给新来的朋友,以下纯属个人的一些想法,如说得有不恰当的地方,我非常乐意接受各位大佬的批评指正,本人也会不断学习,谢谢各位大佬的支持!
2020年4月1日

开源按键组件MultiButton支持菜单操作(事件驱动型)

链接:https://pan.baidu.com/s/124jks9I9uVXmKN3SXHQXvg提取码:hv3g复制这段内容后打开百度网盘手机App,操作更方便哦或者公众号后台回复:菜单
2020年3月30日

C语言常用的几种排序

假设要对含有n个数的序列进行升序排列,冒泡排序算法步骤是:1、从存放序列的数组中的第一个元素开始到最后一个元素,依次对相邻两数进行比较,若前者大后者小,则交换两数的位置;
2020年3月30日

【物联网】WiFi基础知识

无线网络中的QOS是质量保证,大致的意思是,传输数据的时候,考虑各种因素(例如收费策略,所处地区等),以一定的优先级来保证传输的特定要求(一般就是速度),如果带宽足够的话,QOS反而不需要了。
2020年3月28日

【深度长文】还是没忍住,聊聊神奇的无锁队列吧!

的顾客开始前来办理业务,柜员服务完之后,接着继续把剩下两位的业务都办理完成,第四次获取时,柜员发现没有顾客等待了,所以柜员可以休息一下(实际情况是,柜员前应该有显示当前排队人数,当排队人数为
2020年3月25日

数组和指针一道非常值得深思的笔试题

[]编译程序将其转换成:*(+),其中下标表达式为:下标表达式*扩大因子。整个式子计算结果是一个内存地址,最后的结果为:*=。由此可见,C语言对数组的处理,实际上是转换成指针地址的运算。
2020年3月25日

侃侃单片机的裸奔程序的框架

}}我们需要延时的时间=delay*系统记住节拍4ms,此函数就确保了在延时的同时,我们其它事件(键盘扫描,led显示等)也并没有被耽误;好了这样我们的主函数main()将很简短:
2020年3月25日

第1期 | MultiButton,一个小巧简单易用的事件驱动型按键驱动模块

这个项目非常精简,只有两个文件,可无限量扩展按键,按键事件的回调异步处理方式可以简化程序结构,去除冗余的按键处理硬编码,让你的按键业务逻辑更清晰。MuliButton
2020年3月23日

数据结构之二叉树

NULL; //2.插入新节点到二叉树中,调用递归函数 insert(&pt->root,create_node(data)); //3.二叉树中节点个数加1 pt->cnt++;}运行结果:
2020年3月23日

C语言将xxx.bin文件转为数组

/*将二进制转化成数组头文件*///Version:2016.12.16//author:Y.X.YANG#include
2020年3月22日

别瞎找了,你要的C语言经典示例都在这~

https://github.com/Mzzopublic/C/tree/master/%E7%BB%8F%E5%85%B8%E7%A4%BA%E4%BE%8B
2020年3月22日

开源STM32产品:无线点菜宝使用评测

emmmmmm......写得太不堪入目了。。。。一个main.c居然写了1600多行。。。看不过去就重新写吧。。反正我是不想接着往下看那乱糟糟的代码。
2020年3月21日

STM32CubeMX + STM32F1系列开发时遇到的四个问题及解决方案分享

No-Debug,不会配置下载器所使用到的SWDIO引脚和SWCLK引脚:结果就是单片机里之前的程序是正常的,所以这个工程编译出的程序可以成功下载进去,但是一旦下载进去之后,就凉了……
2020年3月21日

【Linux系统编程】IO标准缓冲区

当在输入和输出中遇到换行符时,标准I/O库执行I/O操作。这允许我们一次输出一个字符,但只有在写了一行之后才进行实际I/O操作。标准输入和标准输出对应终端设备(如屏幕)时通常是行缓冲的。
2020年3月19日

【Linux系统编程】可重入和不可重入函数

如何将一个不可重入的函数改写成可重入函数呢?把一个不可重入函数变成可重入的唯一方法是用可重入规则来重写它。其实很简单,只要遵守了几条很容易理解的规则,那么写出来的函数就是可重入的:
2020年3月19日

【程序人生】程序员接私活常用平台汇总

如果你主业上遇到了瓶颈,平时的时间比较充分,想有一些额外的收入,同时为了保持技术的熟练度,这种情况下,是可以考虑接一些私活的。对于那种投入时间巨大,回报很可怜的项目,千万不要接。
2020年3月18日

关于大小端模式的浅谈

分享单片机、嵌入式Linux/Android、物联网等相关产品项目开发经验,打造最硬核嵌入式技术公众号。
2020年3月15日

C语言写一个2048游戏

STATE_EXIT; } else { GM_PlayingEnd(); GM_PrepareInit(); } } break; case
2020年3月15日

嵌入式工程师买车、用车的总结

吉利汽车官网有参考价格,但各地优惠政策不同,会给予现车优惠1-2万的价格,因为没有购置税,所以价格在插电混合动力车这块还是很美丽的,我只想说,买什么都好,切记多了解几家再去下单,不要到最后被坑了。
2020年3月11日

C语言表驱动法编程实践(精华帖,建议收藏并实践)

gGradeMap[0].pszGrade;}该表结构已具备的数据库的雏形,并可扩展支持更为复杂的数据。其查表方式通常为索引查找,偶尔也为分段查找;当索引具有规律性(如连续整数)时,退化为直接查找。
2020年3月11日

C语言实现一个简易版的打字软件

使用getch()函数可以获取键盘输入的字符,显示可以使用Window自带的API来实现,统计就很简单了,就是计算输入字符的个数等等。。。接下来就是简单的软件逻辑的实现。
2020年3月10日

stm32cubeMX学习、SD卡虚拟U盘实验

Timeout)写SD卡的接口也是一样的,这里传入的BlockAdd,也就是块的起始地址,NumberOfBlocks表示的是多少块,所以本来就是以块为单位进行写的,所以也就不用去乘512。
2020年3月10日

让你提前认识软件开发(4):破除几个有关软件开发的错误观念

另外,我们从开始写代码到最后提交,都要严格遵守项目的管理流程,也就是一个软件的生命周期,不是说想什么时候做就什么时候做,不能随心所欲,要在规则之下来做事情。有关这方面,以后也会有专门的文章来说明。
2020年3月8日

分批读取文件中数据的程序流程及其C代码实现

完成日期:20150528***********************************************************************/#include
2020年3月8日

专为MCU项目开发提速的代码框架BabyOS

功能模块基于开源项目FlexibleButton,https://github.com/murphyzhao/FlexibleButton,感谢作者Murphy
2020年3月1日

五分钟读懂TCP 协议

分享单片机、嵌入式Linux/Android、物联网等相关产品项目开发经验,打造最硬核嵌入式技术公众号。
2020年3月1日

stm32cubeMX学习、USB DFU(Download Firmware Update)固件更新

这里默认不让它自动生成main函数,main函数我们自己写。在配置USB设备参数里,USBD_DFU_XFER_SIZE参数:USB数据pack大小,越大配置速度越快。默认配置1024Bytes.
2020年2月23日

分享一个在Keil开发环境中配置代码格式化工具Astyle(美化代码风格)

Style,是一个免费,快速,小型的自动格式化程序,适用于C,C++,C++/CLI,Objective‑C,C#和Java源代码。
2020年2月22日

嵌入式C语言代码优化方案(深度好文,建议花时间研读并收藏)

在许多种情况下,可以用指针运算代替数组索引,这样做常常能产生又快又短的代码。与数组索引相比,指针一般能使代码速度更快,占用空间更少。使用多维数组时差异更明显。下面的代码作用是相同的,但是效率不一样。
2020年2月21日

为Linux应用构造有限状态机

fsm由于之前在用fsmc命令生成状态机代码时使用了-d选项,生成的状态机框架中会包含一定的调试信息,包括状态机中每次状态转换时的激活事件、转换前的状态、所经历的转换、转换后的状态等,如下所示:
2020年2月18日

关于IT行业的职业规划

我就是觉得一个月七八千虽然还行,可是不是长久之计啊,因为在中国做IT的年龄不得承认年龄是个问题,再说这些工资也不够啊,现在不说买车买房,就说物价都在涨,令人堪忧啊
2020年2月18日

编程修养(精品文,建议认真品读并实践)

什么是好的程序员?是不是懂得很多技术细节?还是懂底层编程?还是编程速度比较快?我觉得都不是。对于一些技术细节来说和底层的技术,只要看帮助,查资料就能找到,对于速度快,只要编得多也就熟能生巧了。
2020年2月17日

成功软件开发者的9种编程习惯

这是很重要的规律。千万不要相信将要使用你的软件的人,不要认为使用者会按你希望的方式来操作,反而把他们想成专门发现程序毛病的人。举例说,上面的程序就是为了那些输入都市名更长的的使用者而确认文字长度的。
2020年2月16日

C语言的设计模式

类的封装一般要求对细节的隐藏并且提供指定的方法供调用者使用,在SQUARE这个类中,sideLen是图形的细节,只需要提供一个draw接口给调用者。因此在提供给外部调用的接口头文件中构建如下的接口。
2020年2月16日

学做程序经理

现在在哪儿,赶紧醒醒吧。她在Scottsdale做生物医学家,还入了共和党。我们必须明白,程序员不能是程序经理的下属,换句话说,开发团队的头头、CTO或CEO,都不应是负责撰写规格书的人。
2020年2月11日

使您的软件运行起来: 防止缓冲区溢出(C语言精华帖)

strcpy()函数将源字符串复制到缓冲区。没有指定要复制字符的具体数目。复制字符的数目直接取决于源字符串中的数目。如果源字符串碰巧来自用户输入,且没有专门限制其大小,则有可能会陷入大的麻烦中!
2020年2月11日

嵌入式系统软件架构设计(长篇深度好文)

如果存储器上有大量的静态数据,那么上述算法就只能针对剩下的空间生效,这种情况下还要实现对这些静态数据的搬运的算法。但是这种算法会降低写操作的性能,也增加了算法的复杂度。一般都只使用动态均衡算法。
2020年2月9日

Linux container_of宏详细剖析

offsetof宏的工作原理虚拟一个TYPE类型的结构体变量,通过TYPE.MEMBER的方式来访问MEMBER成员,进而得到MEMBER成员相对于整个结构体首地址的偏移量。
2020年2月5日

谈谈做产品、做项目以及标准化相关的话题

企标:企业生产的产品,没有国家标准、行业标准和地方标准的,制定的企业产品标准;提高产品质量和技术进步,制定的严于国家标准、行业标准或地方标准的企业产品标准;对国家标准、行业标准的选择或补充的标准。
2020年2月4日

推荐一个非常好的项目管理工具

长话短说,TAPD就是一个用来做项目管理和追踪的工具,可以很有效的规划项目的实施流程以及上传文件,比起trello和其它的项目管理平台有绝对的优势。
2020年2月4日

带串口屏显示的Bootloader

链接:https://pan.baidu.com/s/1XBkneZOQqrDSo4JU27kkbQ提取码:b1m7复制这段内容后打开百度网盘手机App,操作更方便哦应用程序还不完善,后续再提供。
2020年1月22日

QT QHttpMultiPart上传总结

eventLoop.exec(QEventLoop::ExcludeUserInputEvents);当网络有问题的时候,或者断网的情况下,调用这个接口会出现类似程序死机的现象(参考Qt
2020年1月22日

分享一个很好用的按键组件

*Get_Version_Mess(void)其中一、二、三是就是我们使用这个按键组件的核心函数,我们来看看这个组件的使用方法,以下是我使用野火霸道F103开发板实现的例程,代码只贴出一部分核心的:
2020年1月21日

分享一个好用的C语言.ini文件的解析库

files.*//*--------------------------------------------------------------------------*/#ifndef
2020年1月8日

让C语言的调试更加高大上

DEBUG(format,...)#endif如上代码,当定义了__DEBUG_VERSION,使用DEBUG函数就会执行
2020年1月8日

分享一个自己量产项目上的集成测试软件MTTEST

由于这是一个集成测试工具,所以存在着任务的并行执行,所以当执行一个任务的时候其实就创建了一条线程,这个过程是在Run_Priority_work里实现的。
2020年1月7日

分享一个非常有用且简单C语言测试框架

分享单片机、嵌入式Linux/Android、物联网等相关产品项目开发经验,打造最硬核嵌入式技术公众号。
2019年11月19日

QT开发之信号与槽的理解

分享单片机、嵌入式Linux/Android、物联网等相关产品项目开发经验,打造最硬核嵌入式技术公众号。
2019年11月19日

Linux下tar命令结合split实现的分包和并包

以前在做Linux下Android系统项目开发的时候,由于Android系统是非常庞大的,可能是10几个G,供应商给了如下的N多个压缩包给了我,格式大概是下面这样子:
2019年11月18日

4G、Wifi、蓝牙所谓的AT指令模式和数据透传模式到底是什么意思?

所谓的AT指令模式,其实可以认为是一个主从应答模式,我们可以来看看下面这幅图,这是我之前听了粤嵌课程截图过来的,很形象:
2019年11月6日

如何看懂时序图(以SPI/I2C为例)

分享单片机、嵌入式Linux/Android、物联网等相关产品项目开发经验,打造最硬核嵌入式技术公众号。
2019年11月1日

Android应用开发权限

android.permission.MASTER_CLEAR目前还没有明确的解释,android开发网分析可能是清除一切数据,类似硬格机
2019年10月21日

STM32开发 -- Keil基本使用

Generation语言代码生成,可以理解成编译、链接到最后生成代码。这部分功能对于代码优化比较重要,初学者可以不用过多理解,对代码大小、运行速度等性能要求较高的人就需要深入理解
2019年10月21日

使用Linux内核里的spi屏驱动-fbtft

/lib/modules/3.4.112/kernel/drivers/video/fbtft/fbtft_device.ko常用的模块参数有:gpios用于指定reset,
2019年10月16日

AliOS Things IOT开发板初体验(基于STM32L496VGTx)

开发板使用的是USB转ST_Link,所以在此之前需要安装驱动,板子的开发资料也已经提供了,板子所有的资料包括源代码都在Github上提供,感兴趣的朋友可以去下载。
2019年10月4日

十种能力指引IT人才走向成功

以20世纪90年代初出现的因特网为标志,人类社会开始进入一个崭新的时代,这就是信息化时代,也称IT时代。在这个时代,人才的空前激烈,作为人才,应该具备哪些能力才能适应环境,并最终走向成功呢?
2019年8月22日

嵌入式技术知识体系问答(找工作笔试面试可能有用)

NXP公司:基于CORTEX-M3内核的芯片LPC1768、LPC1788、基于CORTEX-M0+内核的芯片LPC800系列,ARM9内核的芯片LPC3250,在设计中的认可率都比较高。
2019年8月18日

Android系统开发中产品信息文件说明

由于微信拉群有限制超过100人就不允许扫码进群了,如果有朋友想进来的话,请加我私人微信:morixinguan,备注加群,我会拉你进群,认识更多的小伙伴,资源共享。
2019年8月12日

STM32 使用HAL库调试内部RTC经验总结

故障现象一、RTC设置日期和时间成功,按复位键读取刚刚设置的日期和时间也是成功的,但断电后时间就复位成原始值,也就是RTC_Init函数里下面这段默认的日期和时间
2019年8月6日

Android init.rc脚本详解

调试注意:默认Android系统会将进程的标准输出和标准错误重定位到/dev/null(没有设置console)或/dev/console(有设置console)
2019年8月2日

Android系统学习总结一

主要是为了让应用程序开发更加方便,快捷,容易。不然一个系统如果应用程序开发难,那么相关应用程序自然就少,应用少的话玩的人自然就少。
2019年7月26日

Android系统之Android.mk学习总结

$(BUILD_STATIC_LIBRARY)一般的和上面相似,BUILD_STATIC_LIBRARY表示编译一个静态库。5.3、编译动态库的模板
2019年7月21日

第一百三十四节:“应用层半双工”双机串口通讯的程序框架。

两个单片机进行232串口通讯,一共需要3根线:1根作为共地线,其它2根是交叉的收发数据线(上位机的“接收线”连接下位机的“发送线”,上位机的“发送线”连接下位机的“接收线”),如下图所示:
2019年7月17日

什么时候应该使用volatile 修饰符?

如果一个指针变量指向普通内存以外的位置,如指向一个外围设备的内存映射端口,那么冗余装入和存储的优化对它来说可能是有害的。例如,为了调整某个操作的时间,可能会用到下述函数:
2019年7月16日

NBIOT-BC28模块程序操作接口编写(基于STM32F103ZET6)

通常给模组复位,一般是设置完参数后,手册要求要进行复位操作,复位大概需要5s的时间,模组才会稳定下来,所以Delay_ms(5000)最好不要丢掉,否则其它的指令可能出现设置失败的情况。
2019年7月3日

ESP8266配网思路(不使用SmartConfig)

1、设备让ESP8266进入AP模式设备MCU通过串口给ESP8266发送AT+CWMODE=2,让ESP8266进入AP模式。如果进入AP模式成功,用手机可以搜索到ESP8266模块的热点信息。
2019年7月1日

Android获取已连接wifi的热点信息(上位机开发学习之多个界面切换编程)

Activity是Android的四大组件之一,是一个用来与用户交互的组件。比如我们的屏幕画面,上面提供了按钮等可以操作的控件,用户利用这些控件来达到某种目的。这就是一个Activity了。
2019年6月27日

Android获取已连接wifi的热点信息

android.widget.TextView;1112//由于点击按键需要onClick方法,而这个方法是一个接口,所以要实现该接口13public
2019年6月19日

Linux设备驱动workqueue(工作队列)案例实现

delay);2021===========================================================2223创建新队列和新工作者线程:24
2019年6月13日

Android5.0 Recovery源代码分析与定制---recovery UI相关(二)

其余的图片中,后缀带text的,也和这些是类似的,有出现错误显示的字体error_text,更新系统显示的字体installing_text,没有命令的时候显示的字体no_command_text。
2019年6月5日

C语言数组结合位运算实战-位移与查表

面对一个无规律的数组表,假设这个数组表存放的是100个LED灯,一会想要一个个闪烁,一会想要一排排闪烁,一会乱序闪烁,那么,思考这样一个位移算法似乎是不可取的,所以,引入一个新的概念----查表法。
2019年5月30日

嵌入式Linux应用程序调试法----写文件调试程序法

韦东山老师优质嵌入式学习干货推荐:包括ARM裸机开发、Linux设备驱动程序、Linux应用程序开发、Android系统学习、Linux设备树等。
2019年5月27日

QT读写.INI文件的实现方法

如果现在这样,我提出一个新的需求,修改上述接口,使之能做到实现任意类型参数的写入,用重载机制来实现更好呢?还是模版?这个小问题留给读者自己去思考。
2019年5月25日

Android5.0 Recovery源代码分析与定制(一)

做完这些步骤以后,会初始化并装载recovery的分区表recovery.fstab,然后挂载/cache/recovery/last_log这个文件,用来输出log。
2019年5月23日

Linux下C语言实现弹弹方块小游戏

本项目是在Linux下实现的,实现效果就是在Linux终端上显示一个方块,方块的大小由编写者自行决定。然后画一个方框,小方块会在这个方框的范围中来回弹,如图3-7-12所示。
2019年5月21日

C语言实现简易Linux终端版本聊天室

服务端的工作已经设置完毕,显示就开始设置客户端吧,客户端就可以把它想象成我们的QQ群聊,只要每个人一发信息,那么整个群都可以看得到。
2019年5月20日

谈谈嵌入式应用软件人机界面开发的菜单框架编写

首先拿到键值,然后操作界面,和我们正常人的思维差不多。但如果代码量剧增,页面众多,每个页面有不同的处理按键,相信A类的编写给后面的人来维护或者增加处理方法人一定会非常抱怨,为啥找个界面处理这么痛苦?
2019年5月19日

Linux多路复用Select()与poll()函数

*/6};和select()十分相似,当返回正值时,代表满足响应事件的文件描述符的个数,如果返回0则代表在规定事件内没有事件发生。如发现返回为负则应该立即查看errno,因为这代表有错误发生。
2019年5月18日

C语言实现牛顿迭代法解方程

所谓迭代关系式,指如何从变量的前一个值推出其下一个值的公式(或关系)。迭代关系式的建立是解决迭代问题的关键,通常可以使用递推或倒推的方法来完成。
2019年5月15日

请收好这份全面&详细的Android学习指南!

请认真对待大学专业对于你职业相关课程的大作业,即课程设计(如Java、Android、数据结构等),因为它会是你入门Android的第一个项目,也会成为你在校期间一个不可多得的项目经验。
2019年5月10日

MTK Android平台Nvram与Gensor数据获取

./pskyed/libs/em_emmc_comm/libhwm/include/libhwm.h这里面的读取gsensor数据的接口,如果要用就需要在Android.mk中包含相关的动态库。
2019年5月7日

独立按键的四大要素(自锁,消抖,非阻塞,清零式滤波)

if(条件2)6{78}以上语句是一对组合语句,不能分开来看。当(条件1)成立的时候,它是绝对不会判断(条件2)的。当(条件1)不成立的时候,才会判断(条件2)。
2019年5月6日

STM32使用大彩串口屏程序框架使用总结

}79}这里学习到了一个编程的小技巧,将数据强转为一个结构体,再利用结构体的偏移特性来获得数据。这个函数的作用就显而易见了,通过一条指令得知当前使用的是什么控件等等。。。
2019年5月4日

Linux 下Input系统应用编程实战

在Linux内核中,有非常多的子系统,用于管理很多设备,比如显示系统,输入子系统,音频子系统,电源管理子系统,时钟管理子系统等等,本节我们重点关注Linux下的输入子系统。输入子系统是
2019年5月2日

iMX6 yocto平台QT交叉编译环境搭建

韦东山老师优质嵌入式学习干货推荐:包括ARM裸机开发、Linux设备驱动程序、Linux应用程序开发、Android系统学习、Linux设备树等。
2019年4月10日

C语言的数组为什么要从0开始编号

很显然,从1开始计数编号,每次随机访问数组元素都多了一次减法运算,对于CPU来说,即是多了一条SUB指令,显然从0开始计算要高效一些。
2019年4月7日

增加预编译头加快QT工程编译速度的方法

参考知乎中,有一位大牛写下了关于QT中加快编译速度的方法,原文如下:https://www.zhihu.com/question/23045749
2019年4月3日

ESP8266透传:利用STM32f103zet6发送数据到HTTP服务器

9"%s"10"\r\n----------------------------359443142220480708322079\r\n"11"Content-Disposition:
2019年3月31日

ESP8266透传:发送数据到HTTP服务器

现在我们就利用SoapUI来模拟制作的一个HTTP服务器,制作的流程可以参考:https://blog.csdn.net/russ44/article/details/51680083
2019年3月30日

Android init language与init.rc初始化脚本

start_mytest在android/out/target/product/tulip-p1/system/bin目录下,增加mytest.sh,
2019年3月12日

深入浅出剖析C语言函数指针与回调函数

我们首先来看到这个结构体,这段代码位于linux内核的include/linux/fs.h中,由于代码众多,我只截取几个最基本的例子:File_operations文件操作结构体:
2019年2月28日

C语言根据协议分割获取字符串单元

不带s3c2440开发板java入门视频https://j.youzan.com/1VnvW9[分享]韦东山嵌入式linux视频不带ARM9开发板c++入门
2019年2月27日

Linux内核同步原理学习笔记

分享单片机、嵌入式Linux/Android、物联网等相关产品项目开发经验,打造最硬核嵌入式技术公众号。
2019年2月19日

C语言基础算法---从数组中找最大最小值的实际应用

前面写的测试案例看似有点泛泛,可能各位看完也不知道具体用到哪里,接下来我们来看一个具体的应用案例吧!以下程序运行在秉火STM32F103霸道的开发板上,参考官方提供的程序demo,经过个人修改而来。
2019年2月17日

Linux内核链表的使用

分享单片机、嵌入式Linux/Android、物联网等相关产品项目开发经验,打造最硬核嵌入式技术公众号。
2019年2月14日

C语言结构体深度解析

分享单片机、嵌入式Linux/Android、物联网等相关产品项目开发经验,打造最硬核嵌入式技术公众号。
2019年2月9日

一步一步教你从零开始写C语言链表

那么,这仅仅只是创建一个链表中的一个节点,为了好看,我们把创建节点封装成函数,以后想创建多少个节点,我们就可以反复调用一个函数来创建,会很方便:
2019年2月3日

C语言宏定义的提示之法

分享单片机、嵌入式Linux/Android、物联网等相关产品项目开发经验,打造最硬核嵌入式技术公众号。
2019年1月28日

在linux下制作静态库和动态链接库的方法

-fPIC:表示编译为位置独立的代码,不用此选项的话编译后的代码是位置相关的所以动态载入时是通过代码拷贝的方式来满足不同进程的需要,而不能达到真正代码段共享的目的。
2019年1月4日

C语言操作excel表格-链表实现

这是链表的数据结构,ptr就是要存放的数据,pre是前驱指针,next是后继指针,通过这两个指针,即可以方便实现链表的遍历。
2018年11月21日

C语言实现一个Window控制台带彩色,且可以用方向键选择并确认的菜单式列表(一)

如何读取对应的键值码呢?我们可以使用C语言的getch()函数获取。通过参考百度百科:https://baike.baidu.com/item/getch()/10996394
2018年3月18日

浅谈总线通信机制(通信基础+串口+I2C)

那么,什么又是协议?把话挑明白点说,就是双方约定好一定的规则来做,不然我们去办理一些业务的时候,一般业务员都要你签一个协议,那个协议就是约束你和业务本身的一个规则。当然,在计算机通信中,也不例外的。
2018年3月17日

利用strstr与atoi的结合实现一个C语言获取文件中数据的工具

这个程序的作用就是,open打开对应的文件,通过读取文件中的数据保存到buf中,然后,通过buf找到文件中对应的字符串,读取该字符串后面对应的整形型数据并返回,当然,也可以设计成别的形式。
2017年9月2日

手把手教你深度定制tiny4412安卓5.0系统(一)---开发板如何预置文件到android系统

在这个目录中,我们看到有不同的厂家定制的信息,我们这款开发板是友善之壁提供的,那么我们只要进入friend-arm这个目录下就可以了,进到这个目录,看到tiny4412,我们切换进入看到:
2017年8月13日

深入浅出剖析C语言函数指针与回调函数(二)

从上节我们了解到,回调函数的本质其实也就是函数指针,只不过定义有所区别。它的定义就是:你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。
2017年3月25日

深入浅出剖析C语言函数指针与回调函数(一)

这个名字可以随便取,但是要符合C语言的命名规范。当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。我们看到add函数内部,return
2017年3月24日