自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (6)
  • 收藏
  • 关注

原创 STM32 RS485通信应用

前言:本工程代码在STM32F407ZET6开发板上测试通过。1. RS485基础知识a. 485接口485(一般称作RS485/EIA-485)是隶属于OSI模型物理层的电气特性规定为2线,半双工,多点通信的标准。它的电气特性和RS-232大不一样。用缆线两端的电压差值来表示传递信号。RS485仅仅规定了接受端和发送端的电气特性。它没有规定或推荐任何数据协议。b. RS485的特点① 接口电平低,

2017-10-13 08:49:27 19411 16

原创 利用.bat文件清除Keil编译生成的无用文件

前言:相信大家在用keil进行开发项目时,会发现keil编译时会生成一大堆无用的文件,使得编译后的整个工程项目占用的空间会很大,例如:编译前: 编译后: 运行.bat文件后: 好吧,我们一起来看下.bat文件的内容吧del *.bak /s del *.ddk /s del *.edk /s del *.lst /s del *.lnp /s del *.mpf /s

2017-09-30 09:07:36 2476

原创 STM32 DHT11温湿度测试应用

前言:本代码在STM32F407ZET6开发板平台测试通过,STM32结合DTH11温湿度传感器进行测量温度和湿度,并通过串口并测试结果发送到串口终端上显示。现呈上代码再说int main(void){ u8 Temp, Hum; char Info_Buf[50]; Led_Init(); Key_Init(); Systick_Init(); U

2017-09-29 17:42:38 5687 1

原创 STM32 USART出现乱码

USART使用串口助手调试时出现乱码的情况,一般都是波特率的问题,例如:向串口发送“hello world\r\n”,但是串口助手收到的数据却是这样: 于是我仔细检查代码中设置的波特率的大小,发现没错,也是设置为115200,但是串口助手上显示的还是乱码。我再仔细检查与USART相关的代码,包括UASRT初始化、中断、以及发送数据的类型。。。,很绝望,还是没有找出这个BUG! 以下是我的UASR

2017-09-27 19:41:51 19818 16

原创 STM32定时器产生PWM--呼吸灯

说明:本工程代码在STM32F407ZET6上测试通过。1、PWM定义Pulse Width Modulation:脉冲宽度调制(PWM)2、用途(1)控制输出的电压和电流 (2)灯光的亮度 (3)电机控制3、分析PWM产生与重点(1)分析PWM产生(看图示PWM) (2)区别PWM1与PWM2模式(STM32F4xx中文参考手册 433页) (2)高低电平极性区别(STM32F4xx中文参

2017-09-27 15:11:06 2334

原创 keil5中新建一个STM32工程

前言相信很多stm32的初学者对于创建一个新的工程还是感觉比较困难的,即使学习了一段时间的stm32,创建一个新工程还是会感到无所适从。相信大家在学习stm32之初都是把整个例程工程文件copy下来,在这个基础上进行修改编程的,这样就省掉了很多烦恼。本人自学stm32已经有好久的一段时间了,现在在准备秋招,顺便也把之前学过的内容复习一遍。在整理stm32资料的时候,突然发现之前自己学习stm32的时

2017-09-21 19:54:40 79725 10

转载 ubuntu 16.04中安装ctags和taglist

注意:taglist依赖于ctags,所以要先装ctags,否则taglist装了也没法用。 一:安装ctags: 1、下载ctags安装包:ctags-5.6.tar.gz http://prdownloads.sourceforge.net/ctags/ctags-5.6.tar.gz 2、解压并安装: tar zxvf ctags-5.6.tar.

2017-09-04 14:50:36 1737

原创 Linux串口应用编程

1.串口概述常见的数据通信的基本方式可分为并行通信与串行通信两种。1.并行通信是指利用多条数据传输线将一个字数据的各比特位同时传送。它的特点是传输速度快,适用于传输距离短且传输速度较高的通信。2.串行通信是指利用一条传输线将数据以比特位为单位顺序传送。特点是通信 线路简单,利用简单的线缆就可实现通信,降低成本,适用于传输距离长且 传输速度较慢的通信。2.串口设置详解串口的设置主要是设置 stru

2017-08-30 17:31:25 654

原创 Linux进程入门学习(八)-消息队列通信

1.什么是消息队列消息队列(也叫做报文队列)是一个消息的链式队列。 2.消息队列特性1)消息队列是IPC 对象中的一种,消息队列中可以通过唯一的ID 来识别 消息队列在实际开发的流程:1.创建消息对列表 msgget(key, perm)2.发送消息 msgsnd3.接收消息 msgrcv4.删除 msgctl

2017-08-26 22:39:17 274

原创 文件IO小项目-模拟登陆系统

1.需求分析要求如下: 主界面1. 注册register2. 登录login说明:按下R/r,均进入注册界面按下L/l,均进入登录界面注册界面帐号:密码:帐号与密码写入文件当中 登录界面:帐号:密码:如果user并code是正确的,接下来进入功能界面功能界面:不作要求。2.设计思路注册功能:把注册时输入的账户名以及密码用‘;’

2017-08-26 14:04:19 777

原创 Linux进程入门学习(七)-信号通信

信号通信什么是信号?在操作系统中,当我们无正常结束一程序时,可以用任务管理器强行结束这个进程。在unix/linux 中,具体的实现过程是通过进程A 生成一个信号并发射出去,运行中的进程B捕获到这个信号然后根据这个信号的特定意义做出相应的操作。 信号是UNIX 和Linux 系统响应某些条件而产生的一个事件,接收到该信号的进程会相应地采取一些行动。信号的处理实质是能软件中断这样的机制来实现的。

2017-08-25 23:36:21 336

原创 Linux进程入门学习(六)-管道通信

1. 无名管道 pipe 函数用于创建管道 头文件:#include 函数原型:int pipe(int pipefd[2]); 返回值:成功:0失败:-1参数列表: int pipefd[2]:一个int 类型的数组,pipefd[0]读端,pipefd[1]写端 close 函数用于关闭管道 close(f[0]); close(f[1]);无名管道的特征:

2017-08-20 10:09:38 302

原创 Linux进程入门学习(五)-IPC介绍

1. IPC介绍 进程间通信,简称IPC,就是在不同进程之间传播或交换信息。 通信目的:共享资源、通知事件、数据传输、进程控制 进程间通信类型 有两种: a. 无亲缘关系间通信,如上面的进程A 与B b. 有亲缘关系间通信,如上面的进程B 与B’ 示例:“父子进程在用户空间中不能直接交互数据” IPC发展史system V IPCPOSIX IPC

2017-08-20 09:58:07 381

转载 ubuntu设置环境变量错误导致系统无法登陆解决方法

您的会话只持续了不到10秒钟。如果您没有注销,这就意味着安装可能出现了问题,或者您的磁盘空间已耗尽。可以试试以某个安全模式会话登录,以便查看是否可以解决此问题。 Command 'ls' is available in '/bin/ls'The command could not be located because '/bin' is not included int the PATH enviro

2017-08-20 00:28:25 2689

原创 Linux进程入门学习(四)-进程启动退出

进程的退出函数原型:void exit(int status); 函数原型:void _exit(int status);exit 与_exit 区别;进程的启动system 函数用于启动并执行shell 命令exec 函数族execlexecvexeclpexecveexecvp

2017-08-19 10:43:05 1162

原创 Linux线程入门学习(一)-认识线程

1. 线程的概念 线程,又称轻量级进程,是进程中执行运算的最小单位,是进程中的一个实体,是被系统独立调度和分派的基本单位,主要有以下特点:1)线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源;2)与同属一个进程的其它线程共享进程所拥有的全部资源(则线程之间会存在竞态);3)同一进程中的多个线程之间可以并发执行;(相对CPU来说不是并行的,相对个人来说线程运行时间很快可以看成是并行的。

2017-08-14 09:28:41 254

原创 C语言小项目-万年历

1. 功能说明 功能一:日历显示 说明: 1)在当前的终端窗口中显示当前的年、月、日。例如,当前日期为2017年7月20日; 2)表格的标题是年月; 3)表头是星期,并且是从星期日开始; 4)显示日期时,如果当前月份的1日不是星期日,则用上个月的末尾几日补齐表格。同样,如果当前月的结尾日期不是周六,则用下个月的开始几日补齐; 5)普通的日期用白色显示,当前日期用绿色显示,星期

2017-08-13 12:45:41 1517 1

原创 Linux进程入门学习(三)-进程创建等待

1. 进程的创建 fork 函数用于创建子进程 头文件#include <unistd.h> 函数原型pid_t fork(void); 返回值失败:-1成功:0 或者大于0 的正整数等于0:新的子进程返回值大于0:父进程中返回值大于0,该大于0 的值是子进程的PID分析:子进程相当是父进程的一个复制品,将父进程整个内存空间、包括栈、堆、数据段代码段等等父子进程有部分属性不一

2017-08-12 16:36:18 500

原创 Linux进程入门学习(二)-基础知识

进程的地址空间 进程的地址空间,通常指的是虚拟地址空间,是进程活动的地址范围。 大小为4G,主要包括两大块地址空间 a. 内核空间(kernel space) ,大小为1G(0xc0000000 - 0xffffffff) b. 用户空进(user space),大小为3G(0x00000000 - 0xbfffffff) 如下图表示

2017-08-12 14:31:13 427

原创 Linux进程入门学习(一)-认识进程

Linux进程入门学习1.进程的概念 一个可执行的程序文件(ELF格式)被加载到内存当中,然后让CPU逐条执行其代码,根据代码作出相应的动作,这样一个动态进程就产生了。因此,进程是一个动态变化的过程。 下面用一张图来表示一个程序从编写到最终运行的过程: 一段固化在磁盘的代码可以多次被加载到内存中运行,从而产生多个进程。 当ELF格式的程序被执行时,内核中实际上产生了一个名为task

2017-08-11 19:44:45 1407 1

STM32 RS485通信应用

本工程代码在STM32F407ZET6开发板测试通过,使用RS485实现两个MCU之间的通信。欢迎大家下载学习,相互交流。

2017-10-13

源享科技资料大合集

以百度网盘链接的形式上传到CSDN,其中该资源包含了刘凯老师STM32视频教程80集、uCOS-Ⅱ学习视频教程、C语言、JAVA、51单片机、ARM、模电以及protel的学习资料。欢迎大家下载学习,相互交流。

2017-10-09

基于STM32的DHT11温湿度测试

本工程代码在STM32F407ZET6开发板上测试通过,包含了对DHT11温湿度传感器的驱动编程。本压缩包同时包含了STM32F4xx使用手册、DHT11用户手册以及本人使用的开发板原理图。欢迎大家下载交流学习。

2017-09-29

STM32 定时器产生PWM--呼吸灯

本工程代码在STM32F407ZET6开发板上测试通过,其中使用TIM14产生一个PWM脉冲信号来控制一个LED灯,使之成为一个呼吸灯。本压缩包中也包含了STM32F4xx的中文用户手册,以及本人使用的开发板的原理图。欢迎大家下载学习,相互交流。

2017-09-27

Linux串口编程-ESP8266WIFI模块应用

Linux串口编程,结合ESP8266WIFI模块,实现开发板之间的wifi通信。本工程使用c语言对串口进行编程,运用read,write函数对串口进行AT指令发送以及数据传输。同时,也包含了对termios结构体的运用。

2017-08-30

Linux 文件IO编程-模拟登陆系统

本工程在Ubuntu 16.04环境下测试通过,运用文件IO操作,Linux下的图形库curses以及相关c语言知识,完成这个模拟登陆系统。本系统有注册、登陆的功能,根据键盘输入,进行相应的操作。

2017-08-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除