嵌入式
文章平均质量分 69
Blank_CN
路还是要自己走。
展开
-
IAR 连接源文件时出现duplicate definitions错误
Duplicate definitions从字面上看就是重复定义的意思。那么,为什么会出现这个问题呢?原因就是多个文件定义全局变量的时候一个变量的定义间接地出现在了多个地方。下面详细说一下出现错误的原因吧!我在下面的头文件中定义了一个全局变量flag.然后我把它包含在主文件中:这样,flag在文件stm32f4xx_it.h中定义了一次,然后被main.原创 2015-11-18 22:17:31 · 5140 阅读 · 0 评论 -
Linux主线程接收数据,子线程分别对其操作后输出
本例子虽小,但是融合的线程同步,线程回收和信号量的知识。需要注意pthread_join()和pthread_exit()的用法和区别:pthread_join一般是主线程来调用,用来等待子线程退出,因为是等待,所以是阻塞的,一般主线程会依次join所有它创建的子线程。pthread_exit一般是子线程调用,用来结束当前线程。子线程可以通过pthread_exit传递一个返回值,原创 2016-05-25 16:57:21 · 3216 阅读 · 0 评论 -
51单片机驱动HC-SR04超声波测距模块(LED1602显示结果)
HC-SR04超声波测距模块的使用时非常广泛的,而且驱动它的单片机也有很多。在这里我主要说一下51单片机的代码。51单片机虽然简单,但是实际操作起来也会碰到很多问题:1.ECHO返回的电平用什么方式去判断2.20us的演示函数怎么编写3.距离怎么用自己的方法换算在下面的程序中,我用了以下方法解决上述问题:1.ECHO的返回电平用外部中断的方式判断2.在12MHz的晶振下原创 2015-12-06 10:13:26 · 11909 阅读 · 1 评论 -
STM32f407驱动hc-sr04超声波测距模块
最近完了一下测距模块,本想挺简单的一个东西,却折腾了好长时间。总算弄好了,贴到这里和大家分享一下!HC-SR04超声波测距模块是一种被用烂了的传感器,它的优点是成本低,控制容易,但是掌握不好时序,还是会弄的人一头雾水。本模块用使用方法如下:一. 5v直流电压供电,一般的单片机上自带的VCC都能驱动二. Trig引脚收到来自单片机时长大于等于20us的高点品后发出超声波三.原创 2015-12-03 19:39:04 · 19625 阅读 · 18 评论 -
Linux编程之一:创建第一个C/C++程序
最近开始学习Linux编程,想为以后的嵌入式Linux开发开个们,开到一篇不错的博客,就转过来了。我用的Linux发行版是Ubuntu.1,如下图是在linux桌面新建了hello.c,里面编写了helloworld的小程序。2然后用gcc编译器进行编译,编译后得到可执行文件a.out(这是在未指定文件名的情况下的默认名字)。然后./执行文件。可以看到输出hel转载 2015-12-29 18:55:18 · 1333 阅读 · 0 评论 -
UCOSII移植STM32f103操作过程
UCOS操作系统是一款开源的小巧但强大的嵌入式操作系统,学习嵌入式的朋友都会接触到这款操作系统。在使用过程中,我们做的必要的工作就是把它移植到自己所用的开发板上。下面我分享一下我通过在官网上下载UCOSII源码并且成果移植到STM32f103开发板上的过程。(注:目前ucos的最新版本是ucosIII,读者可根据自己的需要进行移植,移植过程都差不多。)首先,百度UCOS,就会看到官网链原创 2015-12-15 11:26:56 · 4499 阅读 · 1 评论 -
51单片机串口波特率那些事
51单片机应用非常广泛,大家在开发时一般直接把现成的东西拿过来用,具体怎么回事大家可能认为不值得去花时间研究。但恰恰是因为这样的疏忽,反倒造成了我们对最简单的东西的一种陌生感。最近在用51的时候,突然很疑惑,它的波特率产生的具体细节以及计算的原理是什么,只知道有个公式,但不知道这个公式中每个变量的意义以及用法,我想这样的话只能停留在会用的基础上,而并没有真正的理解它,下面就说说我对波特率的研究原创 2015-11-26 14:38:27 · 5988 阅读 · 0 评论 -
HMC5883L三轴陀螺仪(模拟IIC读取和传感器校准)
HMC5883L是一个三轴陀螺仪,能实现待测点的地磁场方向。我在试验中只用到了水平方向的磁场方向。跟据地磁场的知识可知,在北半球,磁场方向指向地面。并且还有地理北极和地磁北极的磁偏角是11度。使用磁传感器应注意以下几点:1.读取到的传感器数据是当地磁场在空间x,y,z三个方向上的分量。2.在水平方向,地磁偏角的计算公式是:磁偏角:Curent_Angle = (atan2(Y,X)原创 2015-11-24 20:46:53 · 14061 阅读 · 4 评论 -
C语言结构体指针在函数调用中的使用
接触嵌入式编程已经有一段时间了,平时的编程中会经常遇到结构体,但是就直接拿来用了,没有注意过细节,结果遇到问题就纠结了。趁这个机会,研究了一下C语言的结构体和结构体指针,顺便总结一下!注:关于结构体的三种形式,可以自己研究研究。我实验的程序如下:#include struct stu{ char name[20]; long number; float s原创 2015-11-19 11:38:32 · 9870 阅读 · 0 评论 -
Linux套接字实现服务器和客户端通信
套接字是一种进程间通信的方法,不同于以往介绍的进程间通信方法的是,它并不局限于同一台计算机的资源,例如文件系统空间、共享内存或者消息队列。套接字(socket)是一种通信机制,客户/服务器系统既可以在本地单机上运行,也可以在网络中运行。套接字工作过程(服务器端)首先,服务器应用程序通过socket系统调用创建一个套接字,它是系统分配给该服务器进程的类似文件描述符的资源,不能与其他进程共原创 2016-05-28 13:57:57 · 4033 阅读 · 0 评论