
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
通信的目的将一个设备的数据传送到另一个设备,扩展硬件系统比如STM32芯片它里面集成了很多功能模块,比如定时器计数,PWM输出、AD采集等等。这些都是芯片内部的电路,这些电路的配置寄存器,数据寄存器都在芯片里面,操作这些寄存器非常简单,直接读写就行了。但是也有些功能是STM32内部没有的,比如我们想要蓝牙无线遥控的功能,想要陀螺仪加速度计测量姿态的功能。STM32没有这些功能,所以就只能外挂芯片来

输入捕获模式下,当通道输入引脚出现指定电平跳变(就是上升沿或者下降沿,可以通过程序配置)时,当前CNT的值将被锁存到CCR中(把当前CNT的值读出来写入到CCR中去,这里对应定时器的结构图),可用于测量PWM波形的频率、占空比、脉冲间隔、电平持续时间等参数。(脉冲间隔实际和频率是差不多的意思,电平持续时间和占空比差不多)

第一步,开启时钟,把需要用的USART和GPIO的时钟打开。第二步,GPIO初始化,把TX配置成复用输出,RX配置成输入。第三步,配置USART,直接使用一个结构体,就可以把这里所有的参数都配置好了。第四步,开关控制,如果只需要发送的功能,就直接开启USART初始化就结束了。如果需要接收的功能,可能还需要配置中断。那就在开启USART之前,再加上ITConfig和NVIC的代码就行了。初始化完成之

本篇我们来建立一个STM32的工程。 这个STM32的工程结构还是比较复杂的,需要用到很多文件,之后我们的代码也都是需要建立在工程结构上的。所以在开始学习后续内容之前,我们先来学习一下如何新建STM32的工程。STM32的三种开发方式目前STM32的开发方式主要有基于寄存器的方式、基于标准库,也就是库函数的方式和基于Hal库的方式。基于寄存器的方式这种方式和我们51单片机的开发方式一样,是用程序直

因为定时器的内容很多,我们将总共分为四个部分讲解:在第一部分,主要讲定时器基本定时的功能。也就是定一个时间,然后让定时器每隔这个时间产生一个中断,来实现每隔一个固定时间执行一段程序的目的。比如要做个时钟秒表,或者使用一些程序算法的时候,都需要用到定时中断的这个功能。在第二部分,主要讲定时器输出比较的功能。输出比较这个模块,最常见的用途就是产生PWM波形。用于驱动电机等设备,在这个部分我们将会学习到

本节主要是教大家使用两个小软件,这两个软件也是比较常用的,里面有很多有意思的功能。这个功能能帮助我们干什么呢?比如你看到别人用STM32做了一个产品,你觉得不错,就可以抄一下它的PCB板,然后程序文件又可以通过这个软件读出来,这样就可以大批量山寨别人的产品了。不过STM32也可以配置读保护,这个等会儿再说。但是反过来,如果你开发产品不注意这个问题的话,是不是一不小心程序就泄露了!我们看一下读出来的

在这个文件里面我们是按照上一篇博客所讲的各部分时序来逐个定义函数,函数体的内容就是模拟每一部分时序写的。

GPIO_ReadInputDataBit第一个函数是用来读取输入数据寄存器某一个端口的输入值。它的参数是指定外设和某一个端口。返回值代表这个端口的高低电平。读取按键,我们就需要用到这个函数。GPIO_ReadInputData第二个函数比上一函数少了个bit,它是用来读取整个输入数据寄存器,参数只有一个GPIOx,用来指定外设。返回值是是一个16位的数据,每一位代表一个端口值。GPIO_Read

服务器建立步骤1、创建一个socket--socket();2、绑定信息bind();上面创建的socket还是个空的文件,现在要往里面填一些东西;填什么?我们用电脑模拟服务器,一般是两个网卡,一个是有线网卡,一个是无线网卡,并且这两个IP地址不一样。我们到底接下来要监听哪个网卡呢?我们就得把IP地址填进去,以及服务器要监听这个网卡上的哪个端口号,因为一个网卡有6万多个端口。因此“绑定信息”就是绑

入门级问题为什么学习C++语言?大型应用软件开发中,程序员往往关注的是业务逻辑的实现,很少把精力放在一些细节的实现上(比如链表);求职中,C和C++难以分割,比如C/C++工程师,C的笔试题中也会有C++;C++在哪方面经常被应用?主要应用于嵌入式的图像界面(QT)、游戏和后台服务器,另外也能做一些桌面应用。








