笔记
文章平均质量分 57
等不到星光等时光呀
加油!!!
展开
-
FTP站点的建立,设备间文件互传
一、FTP站点建立在控制面版中,依次打开:程序 -->启用或关闭Windows功能打开后出现如下图所示,勾选上如图所示的选项,点击确定,等待安装。完成以上操作后,打开IIS(管理器),在网站单击右键,点击添加FTP站点。输入站点名称,物理路径为所要分享的文件路径,点击下一步。ip地址为所连网络的IP地址,端口为123,无SSL,点击下一步。选择匿名,权限根据自己的需求进行选择。这样ftp站点就建好了。可以使用FileZilla代开ftp,也可使用文件资源管理器打开。原创 2021-11-03 23:55:58 · 795 阅读 · 0 评论 -
C语言位操作
C语言位操作一、常用位操作符位与&无符号数有符号数位或|逻辑左移<<算数左移<<位异或^逻辑右移>>算数右移>>位取反~1、位与真值表:&010001013 & 5 = ? 0b0011 (3)& 0b0101 (5)= 0b0001 (1)拓展:&(按位与)与&&(逻辑与)的区别:逻原创 2021-10-19 11:10:27 · 314 阅读 · 0 评论 -
掌控板连网与手机通信
掌控板连网与手机通信将手机和掌控板连接在同一个wifi下,在掌控板上将会显示ip地址,手机访问该IP下的8888端口,就可以访问。页面如下:可以写入数据,也可以读取数据。以下是源码:from mpython import *import networkmy_wifi = wifi()my_wifi.connectWiFi('kfc', '1234567891')from tinywebio import appserver, appclientoled.fill(0)ole原创 2021-09-09 20:38:43 · 1301 阅读 · 0 评论 -
掌控板触摸按键的使用
掌控板触摸按键的使用当触摸按键P按下时,会在左侧显示%20的进度条,触摸按键按N按下时,会在右侧显示%30的进度条。源代码如下:from mpython import *import timemyUI = UI(oled)rgb[0] = (int(0), int(204), int(204))rgb.write()time.sleep_ms(1)oled.fill(0)oled.DispChar('P', 0, 0, 1)oled.DispChar('N', 118, 0, 1原创 2021-09-09 16:26:29 · 809 阅读 · 0 评论 -
掌控板OLED显示
掌控板OLED显示OLED显示文本内容需要先将显示清空,然后将想要显示的内容放在里面,最后放入oled显示生效。源代码如下:from mpython import *oled.fill(0)oled.DispChar('Hello, world!', 0, 0, 1)oled.show()OLED显示心形下面是对应的源码:from mpython import *import timeimage_picture = Image()while True: oled原创 2021-09-07 17:24:53 · 605 阅读 · 0 评论 -
stm32cubemx PWM
stm32cubemx PWM通过pwm实现呼吸灯一、软件配置pwm有俩个模式,一个是模式1和2pwm模式: pwm模式1:小于比较值位有效电平 pwm模式2:大于比较值位有效电平配置led灯的引脚位pwm模式Mode 选择PWM模式1Pulse(占空比值) 先给500Fast Mode PWM脉冲快速模式PWM 极性: 设置为低电平二、代码实现定时器初始化完成之后,要启动定时器,用下面的函数。HAL_TIM_PWM_Start(&htim14,TI原创 2021-09-04 08:35:04 · 1533 阅读 · 0 评论 -
stm32cubemx 定时器中断
stm32cubemx 定时器中断一、基础知识stm32f4:二、软件配置定时器时钟源:APB2负责AD,I/O,高级TIM,串口1。APB1负责DA,USB,SPI,I2C,CAN,串口2345,普通TIM。所支持速度不同:APB2支持高速状态下的工作,APB1支持低速状态下的工作。我所使用的如下:这里配置定时器2,每隔1秒产生一次中断。计数器时钟源选择内部时钟(Internal Clock),ETR2为外部时钟模式2。下面配置定时器的参数。APB1时钟频率为84Mh原创 2021-09-03 22:18:39 · 1214 阅读 · 1 评论 -
stm32cubemx 外部中断
stm32cubemx 外部中断一、软件配置将KEY0(PE4)和KEY1引脚配置为外部中断引脚:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RrqfgrrK-1630307488118)(C:\Users\LENOVO\AppData\Roaming\Typora\typora-user-images\image-20210826151134501.png)]然后配置其模式及其上下拉。模式共有六种,如下:这里配置为带下降沿触发检测的外部中断模式,并上拉。配原创 2021-08-30 15:12:16 · 1222 阅读 · 0 评论 -
stm32cubemx 串口(详细)
stm32cubemx 串口(详细)一、软件配置1、将串口1配置为异步模式,并使能中断。2、USART1配置窗口介绍Mode描述硬件引脚支持外设Asynchronous异步模式TXD、RXDUSART、UARTSynchronous同步模式TXD、RXD、CKUSARTSingle Wire (Half-Duplex)半双工单线模式TXDUSART、UARTMultiprocessor Communication多处理器通讯模式TX原创 2021-08-25 15:31:47 · 17207 阅读 · 4 评论 -
stm32cubemx通过位带操作实现点亮LED与按键输入
stm32cubemx通过位带操作实现点亮led完整的工程已上传到码云:gitee(码云)一、软件配置将led引脚配置位推挽输出,如下:点击generate core 生成代码。二、位操作的实现添加IO地址映射文件,sys.c和sys.h该文件中有对应的IO地址映射,可实现其位操作。在该工程中添加一个led.c和led.h文件,添加sys.h以及main.h文件在led.h中添加如下代码,就可实现对led的位操作。#ifndef __LED_H_#define __LED_H__原创 2021-08-23 20:01:25 · 1400 阅读 · 0 评论 -
ROS服务端Server的编程实现(九)
话题模型编程实现Server端等待信号,每次接收到Client端的信号,海龟的运动状态就切换一次(运动→停止、停止→运动)代码实现方法:初始化ros节点;创建Server实例 ;循环等待服务请求,进入回调函数;在回调函数中完成服务功能的处理,并反馈应答数据;在工作空间的learning_server下的src里面创建turtle_command_server.cpp文件。打开在里面编写代码,代码如下: //该例程将执行/turtle_command服务,服务数据类型std_srv翻译 2021-06-07 19:54:38 · 143 阅读 · 1 评论 -
ROS客户端的编程实现(八)
话题模型编程实现代码实现方法:初始化ros节点;创建一个Client实例发布服务请求数据等待Server处理之后的应答结果再src下创建learning_service功能包在终端输入:catkin_create_pkg learning_service roscpp rospy std_msgs geometry_msgs turtlesim之后在该文件下的src里,创建turtle_spawn.cpp将如下代码写入:/** * 该例程将请求/spawn服务,服务数据翻译 2021-06-03 18:43:26 · 132 阅读 · 0 评论 -
ROS话题消息的定义与使用(七)
如何定义话题消息1、定义msg文件首先,在learning_topic文件夹下创建msg文件夹。learning_topic工作空间的创建,在前面的教程中有详细过程,不会的可以查看前面的,下面是链接地址。ROS创建工作空间和功能包(四)之后在该文件按夹下创建Person.msg文件。在终端中输入:touch Person.msg打开该文件,进行消息的定义:string nameuint8 sexuint8 ageuint8 unknown = 0uint8 male原创 2021-06-03 14:34:50 · 180 阅读 · 0 评论 -
ROS订阅者Subscriber的编程实现(六)
编程实现前言: 和上一个教程创建过程一样,这里不进行详细介绍,上一个教程链接如下ROS发布者Publisher的编程实现(五)正文开始代码如何实现:初始化ROS节点;订阅需要的话题;循环等待话题消息,接受到消息后,进入回调函数;在回调函数中完成消息的处理;配置CmakeLists.txt中的编译规则之后打开src/learning_topic下的CMakeList.txt文件在该文件中加入如下俩句:add_executable(pose_subscriber src/po原创 2021-06-02 10:18:48 · 193 阅读 · 0 评论 -
ROS发布者Publisher的编程实现(五)
1创建功能包在功能包中的src文件夹下,创建velocity_publisher.cpp,编写代码://该例程将发布turtle1/cmd_vel话题,消息类型geometry_msgs::Twist#include <gemetry_msgs/Twist.h>int main(int argc, char **argv){ //ROS节点初始化 ros::init(argc,argv,"velocity_publisher");原创 2021-06-01 21:27:27 · 201 阅读 · 0 评论 -
ROS创建工作空间和功能包(四)
一、创建工作空间工作空间(workspace)是一个存放工程开发相关文件的文件夹。一个典型Catkin编译系统下的工作空间结构如图下所示。典型的工作空间中一般包括以下四个目录空间。1)src:代码空间(Source Space),开发过程中最常用的文件夹,用来存储所有ROS功能包的源码文件。2)build:编译空间(Build Space),用来存储工作空间编译过程中产生的缓存信息和中间文件。3)devel:开发空间(Development Space),用来放置编译生成的可执行文件。原创 2021-05-29 18:11:16 · 292 阅读 · 0 评论 -
ROS架构设计及其基础概念(三)
一、ROS架构设计ROS架构可以将其分为三个层次:OS层、中间层和应用层1.OS层ROS并不是一个传统意义上的操作系统,无法像Windows、Linux一样直接运行在计算机硬件之上,而是需要依托于Linux系统。所以在OS层,我们可以直接使用ROS官方支持度最好的Ubuntu操作系统,也可以使用macOS、Arch、Debian等操作系统。2.中间层Linux是一个通用系统,并没有针对机器人开发提供特殊的中间件,所以ROS在中间层做了大量工作,其中最为重要的就是基于TCPROS/UDPROS的通原创 2021-05-29 18:10:17 · 1264 阅读 · 2 评论 -
Linux系列(四)高阶命令
1、find功能:在linux文件系统中,用来查找一个文件放在哪里了。举例:find /etc -name “interfaces”总结:(1)什么时候用find?当你知道你要找的文件名,但是你忘记了它被放在哪个目录下,要找到该文件时,用find。(2)怎么用find?find 路径 -name “文件名”2、grep功能:在一个文本文件中,查找某个词。举例:grep -nr “SUN” *总结:(1)什么时候用grep?当你想查找某个符号在哪些地方(有可能是一个文件,也有原创 2021-02-08 18:04:27 · 1239 阅读 · 3 评论 -
Freertos系列(二)任务相关的API函数
任务创建和删除的API函数函数描述xTaskCreate()使用动态的方法创建一个任务。xTaskCreateStatic()使用静态的方法创建一个任务。xTaskCreateRestricted()创建一个使用 MPU 进行限制的任务,相关内存使用动态内存分配。vTaskDelete()删除一个任务。1、函数 xTaskCreate()xTaskCreate( TaskFunction_t pxTaskCode,/*任务函数*/ const原创 2021-01-26 22:45:37 · 213 阅读 · 0 评论 -
stm32外部中断
#stm32外部中断原创 2020-08-01 10:32:46 · 125 阅读 · 0 评论 -
stm32时钟树
@stm32时钟树思维导图原创 2020-07-31 21:10:41 · 298 阅读 · 0 评论 -
Keil5的软件调试「一张图就看懂」
软件调试Keil5 软件调试最基本知识点原创 2020-05-08 11:33:56 · 2239 阅读 · 0 评论 -
STM32PWM问题
STM32PWM常见问题原创 2020-04-25 10:51:20 · 286 阅读 · 0 评论