- 博客(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
19722
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
2547
原创 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
5818
1
原创 STM32 USART出现乱码
USART使用串口助手调试时出现乱码的情况,一般都是波特率的问题,例如:向串口发送“hello world\r\n”,但是串口助手收到的数据却是这样: 于是我仔细检查代码中设置的波特率的大小,发现没错,也是设置为115200,但是串口助手上显示的还是乱码。我再仔细检查与USART相关的代码,包括UASRT初始化、中断、以及发送数据的类型。。。,很绝望,还是没有找出这个BUG! 以下是我的UASR
2017-09-27 19:41:51
20329
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
2368
原创 keil5中新建一个STM32工程
前言相信很多stm32的初学者对于创建一个新的工程还是感觉比较困难的,即使学习了一段时间的stm32,创建一个新工程还是会感到无所适从。相信大家在学习stm32之初都是把整个例程工程文件copy下来,在这个基础上进行修改编程的,这样就省掉了很多烦恼。本人自学stm32已经有好久的一段时间了,现在在准备秋招,顺便也把之前学过的内容复习一遍。在整理stm32资料的时候,突然发现之前自己学习stm32的时
2017-09-21 19:54:40
81018
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
1763
原创 Linux串口应用编程
1.串口概述常见的数据通信的基本方式可分为并行通信与串行通信两种。1.并行通信是指利用多条数据传输线将一个字数据的各比特位同时传送。它的特点是传输速度快,适用于传输距离短且传输速度较高的通信。2.串行通信是指利用一条传输线将数据以比特位为单位顺序传送。特点是通信 线路简单,利用简单的线缆就可实现通信,降低成本,适用于传输距离长且 传输速度较慢的通信。2.串口设置详解串口的设置主要是设置 stru
2017-08-30 17:31:25
672
原创 Linux进程入门学习(八)-消息队列通信
1.什么是消息队列消息队列(也叫做报文队列)是一个消息的链式队列。 2.消息队列特性1)消息队列是IPC 对象中的一种,消息队列中可以通过唯一的ID 来识别 消息队列在实际开发的流程:1.创建消息对列表 msgget(key, perm)2.发送消息 msgsnd3.接收消息 msgrcv4.删除 msgctl
2017-08-26 22:39:17
299
原创 文件IO小项目-模拟登陆系统
1.需求分析要求如下: 主界面1. 注册register2. 登录login说明:按下R/r,均进入注册界面按下L/l,均进入登录界面注册界面帐号:密码:帐号与密码写入文件当中 登录界面:帐号:密码:如果user并code是正确的,接下来进入功能界面功能界面:不作要求。2.设计思路注册功能:把注册时输入的账户名以及密码用‘;’
2017-08-26 14:04:19
811
原创 Linux进程入门学习(七)-信号通信
信号通信什么是信号?在操作系统中,当我们无正常结束一程序时,可以用任务管理器强行结束这个进程。在unix/linux 中,具体的实现过程是通过进程A 生成一个信号并发射出去,运行中的进程B捕获到这个信号然后根据这个信号的特定意义做出相应的操作。 信号是UNIX 和Linux 系统响应某些条件而产生的一个事件,接收到该信号的进程会相应地采取一些行动。信号的处理实质是能软件中断这样的机制来实现的。
2017-08-25 23:36:21
354
原创 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
318
原创 Linux进程入门学习(五)-IPC介绍
1. IPC介绍 进程间通信,简称IPC,就是在不同进程之间传播或交换信息。 通信目的:共享资源、通知事件、数据传输、进程控制 进程间通信类型 有两种: a. 无亲缘关系间通信,如上面的进程A 与B b. 有亲缘关系间通信,如上面的进程B 与B’ 示例:“父子进程在用户空间中不能直接交互数据” IPC发展史system V IPCPOSIX IPC
2017-08-20 09:58:07
417
转载 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
2731
原创 Linux进程入门学习(四)-进程启动退出
进程的退出函数原型:void exit(int status); 函数原型:void _exit(int status);exit 与_exit 区别;进程的启动system 函数用于启动并执行shell 命令exec 函数族execlexecvexeclpexecveexecvp
2017-08-19 10:43:05
1183
原创 Linux线程入门学习(一)-认识线程
1. 线程的概念 线程,又称轻量级进程,是进程中执行运算的最小单位,是进程中的一个实体,是被系统独立调度和分派的基本单位,主要有以下特点:1)线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源;2)与同属一个进程的其它线程共享进程所拥有的全部资源(则线程之间会存在竞态);3)同一进程中的多个线程之间可以并发执行;(相对CPU来说不是并行的,相对个人来说线程运行时间很快可以看成是并行的。
2017-08-14 09:28:41
271
原创 C语言小项目-万年历
1. 功能说明 功能一:日历显示 说明: 1)在当前的终端窗口中显示当前的年、月、日。例如,当前日期为2017年7月20日; 2)表格的标题是年月; 3)表头是星期,并且是从星期日开始; 4)显示日期时,如果当前月份的1日不是星期日,则用上个月的末尾几日补齐表格。同样,如果当前月的结尾日期不是周六,则用下个月的开始几日补齐; 5)普通的日期用白色显示,当前日期用绿色显示,星期
2017-08-13 12:45:41
1759
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
514
原创 Linux进程入门学习(二)-基础知识
进程的地址空间 进程的地址空间,通常指的是虚拟地址空间,是进程活动的地址范围。 大小为4G,主要包括两大块地址空间 a. 内核空间(kernel space) ,大小为1G(0xc0000000 - 0xffffffff) b. 用户空进(user space),大小为3G(0x00000000 - 0xbfffffff) 如下图表示
2017-08-12 14:31:13
458
原创 Linux进程入门学习(一)-认识进程
Linux进程入门学习1.进程的概念 一个可执行的程序文件(ELF格式)被加载到内存当中,然后让CPU逐条执行其代码,根据代码作出相应的动作,这样一个动态进程就产生了。因此,进程是一个动态变化的过程。 下面用一张图来表示一个程序从编写到最终运行的过程: 一段固化在磁盘的代码可以多次被加载到内存中运行,从而产生多个进程。 当ELF格式的程序被执行时,内核中实际上产生了一个名为task
2017-08-11 19:44:45
1432
1
源享科技资料大合集
2017-10-09
基于STM32的DHT11温湿度测试
2017-09-29
STM32 定时器产生PWM--呼吸灯
2017-09-27
Linux串口编程-ESP8266WIFI模块应用
2017-08-30
Linux 文件IO编程-模拟登陆系统
2017-08-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人