自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 树莓派串口一次读取大于8字节数据代码示例

由于树莓派串口缓存一次只能缓存八个字节的数据,所以,当我们需要接受大于8字节的串口数据的时候,就需要通过软件来实现缓存。示例:以下代码为接受串口数据后,以16进制方式打印数据#include <stdlib.h>#include <wiringSerial.h>#include <wiringPi.h>#include <stdio.h>#include<string.h>#include <unistd.h>in

2022-03-26 16:17:13 1134

原创 c++ 将函数指针存入map中调用

1、普通函数指针#include "stdafx.h"#include<map>#include<string>#include"FunMap.h"#include<stdio.h>typedef int(*FUN1)(int a);int a(int i){ printf("类外函数指针存入map调用%d\n",i); return 9;}int main(){ map <int, FUN1> mapfun; mapf

2022-03-02 21:30:52 4044 1

原创 windows 下c++ 获取NTP服务器网络时间

以下代码为采用c++通过sockt udp 编程获取NTP服务器的网络时间:.h文件代码#include <winsock2.h>#include <ws2tcpip.h>#include<ctime>#include <stdio.h>#include <stdlib.h>#include <errno.h>#include <string.h>#pragma comment (lib,"W

2022-02-08 20:28:33 3541 7

原创 C++ 单例模式

1、什么是单例模式?单例模式就是一个类对外只提供一个唯一的实例,这样做的目的是避免了频繁使用的类不断地创建和销毁。2、什么时候使用单例模式?当一个类需要反复被实例化使用其方法的时候。3、最常用的单例模式class Singleton{ private: static Singleton instance = new Singleton(); Singleton (){} public: static Singleton getInstance() {

2022-01-22 16:54:31 137

原创 用Anaconda 配置指定版本的tensorflow环境

1、创建新环境如上图:点击create 选择对应的你要配置的tensorflow对应的python版本,具体可参考网站: 链接.2、打开cmd1、输入命令 conda activate 【环境名】(这样所有操作都是针对这个环境名的)注:如果说conda 不是内外部命令,就去百度搜怎么配置conda环境变量2、下载对应版本的tensorflow输入命令 pip install tensorflow1.9 -i https://pypi.doubanio.com/simple其中后面是版本名称

2021-09-06 23:30:40 752

原创 字节序与大小端

1、字节序字节序,即字节在电脑中存放时的序列与输入(输出)时的序列是先到的在前还是后到的在前。2、字节序的大小端大端字节序:低位地址存高位的字节,高位地址存低位的字节,这是人类读写数值的方法。小段字节序:低位地址存低位的字节,高位地址存高位的字节。如当以不同的存储方式,存储数据为0x12345678时: 内存地址:低————>高大端字节序表示为:0x12345678小段字节序表示为:0x876543213、网络字节序UDP/TCP/IP协...

2021-05-16 13:26:14 424 1

原创 Eclipse ADT环境、Android studio如何连接外部安卓模拟器

1、Eclipse ADT连接外部安卓模拟器首先要找到该软件安装的位置,用cmd进入到platform-tools文件夹内执行adb connect 127.0.0.1:7555 我这里连接的是mumu模拟器端口号为(7555), 其他模拟器端口见文章最后连接成功后,在软件内点击运行,即可如果连接失败要重启adb 指令为:adbkill-server adb start-server(同样要在platform-tools文件夹目录内执行)2、Android studio如何...

2021-05-11 20:49:46 1745 3

原创 Linux 简单shell脚本使用

1、创建一个shell脚本通常我们习惯shell脚本文件以.sh结尾2、编写shell脚本shell的第一行一定是“”它代表的意思是,该文件使用的是bash语法。如果不设置该行,那么你的shell脚本就不能被执行date为打印系统当前时间 该命令使用频率很高#为脚本的注释语法echo 为打印到终端输出示范1:用shell脚本打印一个hello shell 在终端上#! /bin/bashecho "hello shell"示范2:执行指定目录下...

2021-05-11 11:13:23 203

原创 怎么将java工程部署到Linux上运行

1、保证所有java文件都不属于任何一个包所有java文件如下:2、将除带Main函数的其他所有java文件打包成jar包点file—export—java—JAR file点next,找到你的工程下的java文件3、将自己导出的jar包与工程所依赖的其他第三方jar包(如Mysql的)加上带main函数的java文件一起编译如下图所示Main.java 为带main函数的java文件mysql-connector-java-8.0.20.jar 是MYsql

2021-05-09 18:34:21 1113

原创 Android Studio 内gradle配置失败、下载gradle失败怎么解决

我们在使用Android Studio 的时候,有时候会自动更新gradle,而由于下载源在在国外访问极慢,有时甚至会下载不了,导致无法使用软件。以下是解决办法:1、查看C:\Users\用户名\.gradle\wrapper\dists下的gradle压缩包,看自己有啥版本的压缩包,如果都没有可以去https://www.jianshu.com/p/d9329117aa2f下载一个包(下载完不用解压)2、修改项目中gradle-wrapper.properties文件中的gradle包

2021-04-17 22:09:07 2849 1

原创 Android Studio如何导入一个jar包

1、选择显示视图为project2、找到app文件下lib,把jar包粘贴到lib下3、鼠标右键移到jar包上选择Add As Library导入工程就好

2021-04-14 20:13:41 349 1

原创 智能家居APP使用指南

一、如何修改IP,端口号,以及发送的指令打开项目文件夹—src—com.example.smarthome包下的NetUtils.java文件修改发送的指令就打开项目文件夹—src—com.example.smarthome包下的MainActivity.java文件二、如何增加或者删除一个按钮找到与MainActivity对应的布局文件activity_mai.xml在项目文件夹—res—layout—activity_main.xml下在修改界面之前,我们需...

2021-04-14 14:11:40 5000 16

原创 Linux虚拟机sqlite数据库安装教程

一、在官网下载压缩包到window里面SQLite官网下载地址如图我们下载sqlite-autoconf-3350400.tar.gz这个包。二、将下载包拖入LINUX虚拟机内这里采用Vmare15虚拟机,ubantu18系统。(Vmare下载vmare-tools后,可直接windows主机通过拖拽的方式来进行文件传输)如图将下载好的安装包拖进ubantu自己新建的文件夹Sqlite下三、解压安装1、解压tar xvzf sqlite-autoconf-335...

2021-04-08 19:07:56 671 1

原创 合泰HT66F2390单片机IIC使用例程(红外测温MLX90614模块的使用)

1、代码#include "HT66F2390.h"#define SDA_pin _pf2 // PF2脚为SDA#define SDA_set _pfc2 // PF2脚输入输出模式控制寄存器#define SDA_up_set _pfpu2 #define SCL_pin _pf3 // PF3脚为SCL#define SCL_set _pfc3 // PF3脚输入输出模式控制寄存器typedef unsigned char u8;void dou

2021-04-08 18:35:30 3848 2

原创 合泰HT66F2390单片机串口UART使用例程

#include <HT66F2390.h>typedef unsigned long u32;typedef unsigned short u16;#define fH 8000000 #define BR 19200 //波特率void Delayms(u16 del){ u16 i; for(i=0;i<del;i++) GCC_DELAY(2000);}//发送一个单字符void send_char(char s){ _txr_rxr0=.

2021-04-08 17:49:33 5210 4

原创 STM32 gpio的配置与使用

1、查看用户手册,查看gpio属于哪个外设使能寄存器管理如图所示,我们开启的gpio属于APB2时钟控制,所以我们需要先配置APB2时钟,来开启gpio的时钟使能。例如我们要使用GPIOC,则找到库中的stm32f10x_rcc.h中对APB2时钟配置的函数:void RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState NewState);配置GPIO C使能则:RCC_APB2PeriphClockCmd(RCC_

2021-03-26 10:48:47 946

原创 树莓派接入公网

为什么要内网穿透?为了可以被外网设备访问、与外网设备通信。怎样进行内网穿透?1、下载花生壳进入https://hsk.oray.com/download/下载树莓派版本的到自己电脑,再拷贝到树莓派里面,或者通过FileZilla直接发送到树莓派上。2、安装花生壳通过ssh远程连接树莓派,进入有花生壳安装包的文件夹,输入指令sudo dpkg -i phddns_3.0.4_systemd.deb3、查看SN码与初始密码一般安装完成后会直接看见SN码与初始密码:ad..

2020-12-22 17:28:19 2706 2

原创 安卓线程之间传递消息

由于Android采用的是单线程模式,开发者无法在子线程中更新 UI,所以系统给我提供了 Handler 这个类来实现 UI 更新问题。1. Handler 的作用在Android为了保障线程安全,规定只能由主线程来更新UI信息。而在实际开发中,会经常遇到多个子线程都去操作UI信息的情况,那么就会导致UI线程不安全。这时,我们就需要借助 Handler 作为媒介,让 Handler 通知主线程按顺序一个个去更新UI,避免UI线程不安全。那么,子线程要更新UI的信息时,我们就需要将要更新的消息传递

2020-12-17 12:25:35 575 1

原创 树莓派实现人脸识别(翔云方案)

1、注册翔云账号,购买人脸识别接口次数我们在注册账号后并购买次数后,将获得服务次数(每调用一次http接口消耗一次)点击个人中心,查看自己专属的访问接口的参数,key 与 Secret2、编写访问接口的代码,采用python编程访问经过一段时间的查看访问翔云结构各种语言的例程,发现python的代码量是最简单的,所以采用python来访问接口p1.py 代码如下:#coding=UTF-8import sysreload(sys)sys.setdefaultencodi.

2020-12-07 20:52:34 1515 1

原创 MSP430单片机IO、pwm、中断使用例程(电赛常用)

io使用例程在使用io口时,我们需要先了解连个与io有关常用的寄存器PXDIR:方向就寄存器:设置为输出引脚,置1;设置为输入引脚,置0;例程1:将p2.3作为输出引脚,并使它初始化为输出0。#include <msp430.h> int main(void){ //关闭看门狗,必须要这一步 WDTCTL = WDTPW | WDTHOLD; /*这段代码等价于 P2DIR |= 00000100 (按位或,将第三位寄存器置为1).最后的功能

2020-10-15 20:19:38 5207 5

原创 指针常量与常量指针的区别

指针常量指针常量是一个指针,该指针是一个常量,不可被修改比如数组名就是一个指针常量:int a[2]={1,2};int b[2]={3,4};a=b;//报错,数组名是一个指针常量,该指针不能被修改,赋值*a=2;//不报错,*a代表a指针所指向的内容,该内容不是常量,可被修改常量指针常量指针是一个指针,该指针指向的内容是一个常量,不可被修改字符串就是一个常量指针:char *p="abcdef";*p='9';//报错,*p是p指针所指向的值,该值是一个常量,不可

2020-09-28 11:20:41 443

原创 如何在安卓APP中嵌入HTML页面

首先.xml文件需要一个webView <WebView android:layout_width="match_parent" android:layout_gravity="center" android:layout_height="300dp" android:id="@+id/web" />然后在java内设置 WebView wb = (WebView

2020-08-20 21:54:24 4445 5

原创 C语言面试高频问题:自己代码实现字符串相关的常用API

1、实现get(char *);从键盘获取字符串void myget(char *str){ while(1) { scanf("%c",str); if(*str=='\n') { *str='\0'; return; } str++; } }2、实现put(char *);输出字符串void myput(char *str){ while(*str!='\0') { printf("%c",*str++); } p

2020-08-08 13:31:33 236

原创 如何让自己的写的程序在阿里云一直运行

购买了阿里云服务器后,每次要用自己写在阿里云的服务器程序都要连接到云端然后./运行该程序,而且每次一断开终端,该服务器就会自动停止,这样使用相当麻烦。那怎样才能让我们的服务器一直在云端后台运行,即便退出终端,也保持这个服务器进程运行呢?这里我们可以使用screen工具:1、下载screen:CentOS 系列系统: yum install screen Ubuntu 系列系统: sudo apt-get install screen 2、运行scr

2020-08-02 11:53:28 4747

原创 安卓app与阿里云服务器的无线通信(非局域网)

写在阿里云里面的服务器代码:#include <sys/types.h>#include <sys/socket.h>#include<netinet/in.h>#include <arpa/inet.h>#include<stdio.h>#include<stdlib.h>#include <unistd.h>#include<string.h>#include <sys/types

2020-08-01 16:13:14 1291 2

原创 树莓派与阿里云服务器之间的无线通信(非局域网)

购买服务器后。我们可以点击控制台,找到实例列表,点击远程连接点击远程连接->Workbench远程连接->输入密码后登录,即可看到一个linux的操作界面(如果买的是linux的服务器)相当于我们在这个界面使用一台跑linux的云电脑,这台电脑可以在任意有网络的地方被访问。电操作方法,就和普通linux电脑类似,只不过是指令操作。这就是云服务器的操作界面,操作方法,指令等都和Linux一模一样我们用关键配置服务器代码如下int initsocket(){ .

2020-08-01 15:45:02 2912

原创 树莓派与安卓手机app的WIFI通信(局域网通信)

与树莓派与wemos的无线通信类似,只不过这次我们将客户端变为安卓手机,树莓派作为服务器。#include <sys/types.h>#include <sys/socket.h>#include<netinet/in.h>#include <arpa/inet.h>#include<stdio.h>#include<stdlib.h>#include <unistd.h>#include<s.

2020-07-29 10:18:12 3688 3

原创 配置寄存器常用方法:&运算,|运算,<<运算的综合应用

在底层开发中我们经常需要对寄存器进行配置,通常我们并不需要对寄存器的全部位进行配置,只需要修改其中的几个位即可。例如我们想要完成一个功能A,只需要将一个八位寄存器4-6位配置成110即可。如果生硬的将寄存器赋值为00 01 10 00 ,就会影响其他位。那么这个时候我们该如何配置呢?首先我们需要先掌握几个运算符:&与运算:0&1=0,0&0=0,1&1=1;| 或运算:0|0=0,1|0=1,1|1=1;<<左移位运算:0x6<&lt

2020-07-27 10:35:32 4021

原创 树莓派作为客户端与WemosD1作为服务器的无线通信(局域网通信)

跑Linux的树莓派可以通过路由器来与wemos版进行局域网内通信:核心思想是linux下的socket网络编程,树莓派作为客户端,wemos作为服务器。wemos版作为服务端代码:#include <ESP8266WiFi.h>char ssid[] = "路由器名称"; char passwd[] = "密码";void initWifiSta(){ WiFi.mode(WIFI_STA); // 设置STA模式 WiFi.be..

2020-07-26 21:50:39 1097 2

原创 树莓派底层驱动开发示例(一个简单io口驱动的开发)

1、驱动代码的开发树莓派的io空间的起始地址是0x3f000000,GPIO的偏移量为20000000,所以GPIO的物理地址应该是从0x3f200000开始的。本篇示例驱动的功能是将树莓派的一个的4引脚设置为OUTPUT,使其具有OUTPUT的功能(输出0,1)。在开发之前我们需要查看树莓派的开发手册:1、找到设置io口功能的寄存器:从上图可知道FSEL4即为我们要设置的4号脚,它属于GPFSEL0寄存器控制,控制位为14-12位,具体的设置方法参考上图的FSEL9可知,将该寄存器

2020-07-25 21:15:52 3874 8

原创 java语言:编程求一个关系的闭包(自反,传递,对称)

离散数学:编程求一个关系的闭包实现语言:javapackage 离散数学; import java.util.Scanner; public class Work5 { public static void main(String[] args) { System.out.println("请输入集合A以空格隔开"); S...

2019-11-25 09:00:20 3283

空空如也

空空如也

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

TA关注的人

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