自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 资源 (5)
  • 收藏
  • 关注

原创 Vmware下减小Ubuntu系统占用系统盘大小

造成这个原因是,虚拟机的bug:在虚拟机的ubuntu下,比如编译生成了很多缓存,虽然在ubuntu系统下删除 了这些缓存,并且在ubuntu系统下的占用的空间不大,但是实际占用主机硬盘资源并没有释放(非0数据),在主机系统下看到ubuntu虚拟机占用磁盘会很大。如果没有,需要关闭虚拟机后,选中虚拟机进入设置,然后选择硬盘,然后点击压缩等待完成即可。完成之后需要删除zero.tmp,切记要删除,否则会导致没有空间系统起不来,需要进入援救模式,删除文件。虚拟机下执行如下命令,查看disk挂载目录。

2024-03-30 21:30:25 280

原创 openwrt 使用uci更改ip

以lan口举例:设置lan口ipuci set network.lan.ipaddr=192.168.0.251提交uci commit network重启网络/etc/init.d/network restart

2023-03-15 09:36:06 404

原创 STM32F1 定时器 PWM输入捕获两路

__IO u32 TIM4CH3_CAPTURE_UPVAL = 0;//通道3捕获到高电平的时刻__IO u32 TIM4CH3_CAPTURE_DOWNVAL = 0;//通道3捕获到低电平的时刻__IO u32 TIM4CH4_CAPTURE_UPVAL = 0;//通道4捕获到高电平的时刻__IO u32 TIM4CH4_CAPTURE_DOWNVAL = 0;//通道4捕获到低电平的时刻__IO u32 TIM4CH3_HIGHTIME = 0; //通道3捕获总高电平的时间__I.

2021-03-04 11:23:32 1894 1

原创 openwrt 7621 使能ttyS1

openwrt版本 15.05-release1 修改openwrt-15.05-release/target/linux/ramips/dts下对应的dts文件,取消uart2 uart3配置为gpio功能将uart2 uart3从里面删掉2 修改openwrt-15.05-release/target/linux/ramips/dts/mt7621.dtsi文件,增加串口将uart1 uart2 uart3修改为图示,有则改之,无则加之,这样改是为了和内核源码对应起来,后..

2021-02-19 17:17:54 924

原创 openwrt添加me909s-8201

openwrt版本 15.05-realease1 修改设备树,配置模块复位引脚,使其默认状态为高电平(低电平会不断复位)根据需要修改原来的gpio-leds即可2 添加串口和网卡驱动make menuconfigkmod-usb-net-cdc-ether是网卡驱动kmod-usb-serial是usb串口驱动根据经验来说,不用修改内核驱动源码3 编译后,烧录镜像进系统查看...

2021-02-19 14:34:48 726

原创 openwrt关闭网卡端口

eth1对应系统端口0eth2对应系统端口1背板网口对应系统端口2关闭网卡对应的端口,需要对 /etc/config/network 文件进行修改,修改下图中红色圈中部分此为原始文件举例:比如关闭背板网口的端口,只需要在红色圈中部分将 option ports '0 1 2 3 6t' 改为 option ports '0 1 3 6t' ,即在此处去掉背板网口对应的端口,其它网卡也是同样的操作,注意:6t对应的是CPU端口,不可随意修改此处是关闭系统层的端口..

2021-02-19 14:22:55 3468

原创 openwrt 7621内核启动异常,解决办法记录

启动异常现象[ 1.340000] /testcase-data/phandle-tests/consumer-a: arguments longer than property[ 1.360000] /testcase-data/phandle-tests/consumer-a: arguments longer than property[ 1.380000] irq: no irq domain found for /testcase-data/interrupts/int

2021-02-19 14:13:46 1142

原创 Ubuntu安装和启动telnet服务

安装 openbsd-inetdsudo apt-get install openbsd-inetd -y安装 telnetdsudo apt-get install telnetd -y重启 openbsd-inetdsudo /etc/init.d/openbsd-inetd restart查看 telnet 运行状态sudo netstat -a | grep telnetapt-get install openbsd-inetd telnetd -y目前测试出来,修改/etc/in

2020-11-14 14:36:36 489

原创 C语言 float转存char数组 互转

void FloatToChar(float fNum, unsigned char *strBuf, int nLen) { if (nLen < 4) return; int i = 0; unsigned char nTmp; char *p = (char *)&fNum; for (i = 0; i < 4; i++) { strBuf[i] = *p; p++; if ((i + 1) % 2 == 0) { /...

2020-10-15 15:42:06 3150

原创 杂记

service --status-allsystemd-analyze blameservice openbsd-inetd status 查看某个服务的状态update-rc.d –f openbsd-inetd remove添加一个服务:sudo update-rc.d srv_name defaults 99删除一个服务 :sudo update-rc.d –f test removesystemctl list-unit-files | grep enabled 列出所有开启的服务.

2020-08-20 16:51:42 171

原创 VMware虚拟机磁盘文件vmdk单文件转多文件相互转换

VMware虚拟机磁盘文件vmdk单文件转多文件相互转换设置环境变量编辑新建一个,把vmware的路径加进去,比如我的路径是C:\Users\Administrator>vmware-vdiskmanager.exeVMware Virtual Disk Manager - build 6661328.Usage: vmware-vdiskmanager.exe OPTIONS <disk-name> | ...

2020-08-20 16:50:36 2188

原创 STM32 KeilRtx Driver_CAN Can的屏蔽位模式 设置

uint32_t nMask = 0x0000001F;uint32_t nId = 0x18;Driver_CAN1.ObjectSetFilter(rx_obj_idx,ARM_CAN_FILTER_ID_MASKABLE_ADD,ARM_CAN_EXTENDED_ID(nId),nMask);当前我传入的掩码低五位为1,代表我只关心低5位的值,即掩码标识符。当前我传入的扩展帧ID为0x18,代表当收到消息后,滤波器会把收到的ID,针对我关心的哪几位,和我传入的ID作对比,即ID标识符,

2020-08-06 16:17:14 518

原创 ubuntu10.04开启启动qt程序代替桌面

1.更改/etc/apt/source.list 如下,以下是目前可用的软件源deb http://old-releases.ubuntu.com/ubuntu/ maverick main restricteddeb-src http://old-releases.ubuntu.com/ubuntu/ maverick main restricteddeb http://old-re...

2020-04-29 17:00:32 849

原创 ubuntu下安装MQTT服务器

1. 引入mosquitto仓库并更新sudo apt-add-repository ppa:mosquitto-dev/mosquitto-ppasudo apt-get update2. 执行以下命令安装mosquitto包sudo apt-get install mosquitto3. 安装mosquitto开发包sudo apt-get install libmos...

2020-04-15 14:24:15 564

原创 arm-linux 添加启动脚本

本例使用update-rc.d命令1.拷贝脚本或可执行程序到/etc/init.d2.在/etc/init.d执行 update-rc.d xxx(脚本文件) defaults 993.reboot即可

2020-01-14 11:17:56 641

原创 STM32F103 CAN配置和引脚复用

此处采用的是STM32F103C8T6,话不多说,直接上代码。/*CAN RX0 中断优先级配置 */ void CAN_NVIC_Configuration(void){ NVIC_InitTypeDef NVIC_InitStructure; /* Configure the NVIC Preemption Priority Bits */ NVIC_Pr...

2019-10-26 17:19:47 7853 1

原创 STM32F103 8M晶振改16M晶振

我们知道,F103默认的外部晶振是8M,系统时钟频率是72M,但实际项目中,多数情况下可能会采用16M,25M晶振等等,如果不注意,很容易就超频,导致单片机无法正常运转,此处以16M晶振为例,说明一下时钟频率的修改。1.修改stm32f10x.h中HSE_Value的值,8M修改为16M。#define HSE_Value ((uint32_t)16000000) /*!< V...

2019-10-26 17:10:07 3498

翻译 FreeRTOS api库函数之Software Timers(软件定时器)

TimerHandle_t xTimerCreate (const char * const pcTimerName, const TickType_t xTimerPeriod, const UBaseType_t uxAutoReload, vo...

2019-09-12 15:29:50 3218

翻译 FreeRTOS api库函数之Semaphore / Mutexes(信号量/互斥量)

SemaphoreHandle_t xSemaphoreCreateBinary(void);创建二进制信号量,并返回一个句柄,通过该句柄可以引用信号量。在FreeRTOSConfig.h中,configSUPPORT_DYNAMIC_ALLOCATION必须设置为1,或者保留未定义(在这种情况下默认为1),以使此RTOS API函数可用。每个二进制信号量都需要少量的RAM来保存信号...

2019-09-12 15:16:48 9256

原创 Linux下基于C的TCP Client

基于c写的tcp client的代码,留作备用。#include <arpa/inet.h>#include <errno.h>#include <net/if.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <sys...

2019-09-05 15:51:36 1251

原创 Linux下 C语言编写 TCP Server

用c写的,做了函数的封装,记录在此,方便查找server.h#ifndef __SERVER_H#define __SERVER_H#define FALSE -1#define TRUE 0int Server_Init(char *server_port); //服务器初始化int Wait_Accept(int server_fd); //等待客户机连接vo...

2019-09-05 15:36:20 1327

原创 Windows下 串口编程 代码

粗略的对windows下串口的编程写了常用的封装函数(包含打开 关闭 初始化 读写),测试过的HANDLE CUART::uart_open(const char *uart_str) { HANDLE hCom1 = CreateFile(uart_str, GENERIC_READ | GENERIC_WRITE, //允许读和写 FILE_SHARE_READ | FILE...

2019-09-05 15:05:30 714

原创 STM32 USB虚拟串口 小记

1.usb发送存在64字节或者64字节整数倍发送的问题 usb的发送缓存区为4096字节,若发送64字节或者64整数倍字节,当usb存满4096后,会发送一次,剩下的会存在下次的4096里面。 如果要直接发送,在发送64字节之后,需要稍微延时,然后再调用一次发送函数(此时只需发送0字节长度)。...

2019-08-29 10:54:29 862

原创 在arm开发板上使用tftp命令下载服务器上的文件

虚拟机地址为:192.168.1.1821,确保安装以下服务:sudo apt-get install tftp-hpasudo apt-get install tftpd-hpasudo apt-get install xinetd2,cat /etc/xinetd.conf 文件内容如下:(一般无须修改)# Simple configuration file for x...

2019-08-01 14:13:30 667

转载 linux下的串口配置

经过验证是准确无误的,配置以后可以通过以下指令查看stty -F /dev/ttyUSB0 -a //查看/dev/ttyUSB0的串口配置stty -F /dev/ttyUSB0 ispeed 115200 ospeed 115200 cs8 //配置/dev/ttyUSB0的输入输出波特率和数据位/*************************************...

2019-06-25 21:06:44 8039 1

原创 STM32粗略延时,大致精确

考虑到一些情况下,无法使用系统定时或者定时器,而进行的时间计算。STM32F1系列,对于72Mhz来说void my_delay_ms(u32 ms){//对于stm32f1系列 72mhz大致是1ms u16 i = 0; while(ms--) { i = 4050; while(i--); };}void my_delay_us(u32 us){...

2019-06-25 20:58:35 4265 2

原创 C IP 大整数和字符串相互转换

原理很简单,大整数转字符串就是一直对256取余,取整字符串转大整数就是一直乘256#include <stdio.h>#include <stdlib.h>#include <string.h>void swapStr(char *str, int left, int right) { int temp; for (; left <...

2019-04-17 17:56:48 484

原创 STM32F4 DMA

STM32F4有2个DMA,每个DMA控制器有8个数据流,每个数据流有多达8个通道,但是DMA1 控制器 AHB 外设端口与 DMA2 控制器的情况不同,不连接到总线矩阵,因此,仅 DMA2 数据流能够执行存储器到存储器的传输。typedef struct{ uint32_t DMA_Channel; //选择通道 uint32_t...

2019-04-02 17:35:07 7061

原创 Linux C/C++经典程序之mycp

文件IO#include <errno.h>#include <fcntl.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <sys/stat.h>#include <sys/types.h>#include ...

2019-03-22 16:51:28 462

原创 Linux C/C++之mycat(包含标准IO和文件IO)

标准IO#include <stdio.h>#include <stdlib.h>#include <errno.h>#include <string.h>#define READ_LEN 1024int main(int argc, char **argv){ if(argc < 2) { fprintf(std...

2019-03-22 15:27:47 802

原创 C/C++经典程序之打印三角形

等腰直角三角形(直角边在左下)#include <stdio.h>int main() { int i, j; int line; printf("请输入行数:"); scanf("%d", &line); for (i = 0; i <= line; i++) { for (j = line - i + 1; j <= line...

2019-03-21 17:23:38 7852 3

原创 C/C++ 经典程序之九九乘法表

C++#include <iostream>#include <stdio.h>using namespace std;int main() { int i, j; for (i = 1; i < 10; i++) { for (j = 1; j <= i; j++) { std::cout << j <...

2019-03-21 17:05:41 1063

翻译 FreeRTOS api库函数之Message Buffers(消息缓冲区)

xMessageBufferCreate()MessageBufferHandle_t xMessageBufferCreate(size_t xBufferSizeBytes);使用动态分配的内存创建新的消息缓冲区。有关使用静态分配的内存(在编译时分配的内存)的版本,请参阅xMessageBufferCreateStatic()。必须在FreeRTOSConfig.h中将configSU...

2019-03-21 16:42:46 4259

原创 C/C++ 经典程序 任意两个范围求和

#include <iostream>#include <stdio.h>using namespace std;int main() { int start = 0; int end = 0; int sum = 0; std::cout << "请输入起始数字:"; std::cin >> start; std::...

2019-03-21 16:03:54 625

翻译 FreeRTOS api库函数之Stream Buffers(流缓冲区)

xStreamBufferCreate()StreamBufferHandle_t xStreamBufferCreate(size_t xBufferSizeBytes,size_t xTriggerLevelBytes);使用动态分配的内存创建新的流缓冲区。必须在FreeRTOSConfig.h中将configSUPPORT_DYNAMIC_ALLOCATION设置为1或未定义,才能使x...

2019-01-31 14:12:05 7226

翻译 FreeRTOS api库函数之Queue Sets(队列集)

xQueueCreateSet()QueueSetHandle_t xQueueCreateSet(const UBaseType_t uxEventQueueLength);在FreeRTOSConfig.h中,必须将configUSE_QUEUE_SETS设置为1才能使xQueueCreateSet()API函数可用。队列集提供了一种机制,允许RTOS任务同时阻止(挂起)来自多个RTOS...

2019-01-31 11:11:17 3494

翻译 FreeRTOS api库函数之Queues(队列)

xQueueCreateQueueHandle_t xQueueCreate(UBaseType_t uxQueueLength,UBaseType_t uxItemSize);创建一个新队列并返回一个句柄,通过该句柄可以引用该队列。在FreeRTOSConfig.h中,configSUPPORT_DYNAMIC_ALLOCATION必须设置为1,或者保留未定义(在这种情况下默认为1),以使此...

2019-01-31 10:41:23 2252

翻译 FreeRTOS api库函数之Task Notification(任务通知)

xTaskNotifyGive()BaseType_t xTaskNotifyGive(TaskHandle_t xTaskToNotify);每个RTOS任务都有一个32位通知值,在创建RTOS任务时初始化为零。 RTOS任务通知是直接发送到可以取消阻止接收任务的任务的事件,并且可选地更新接收任务的通知值。xTaskNotifyGive()是一个宏,旨在将RTOS任务通知值用作轻量级和更快...

2019-01-30 15:07:23 1422

翻译 FreeRTOS api库函数 之 RTOS Kernel Control(内核控制)

taskYIELDtaskYIELD()用于请求上下文切换到另一个任务。 但是,如果没有其他任务以高于或等于调用taskYIELD()的任务的优先级,那么RTOS调度程序将只选择调用taskYIELD()再次运行的任务。如果configUSE_PREEMPTION设置为1,那么RTOS调度程序将始终运行能够运行的最高优先级任务,因此调用taskYIELD()将永远不会导致切换到更高优先级的任务...

2019-01-30 14:09:23 739

翻译 FreeRTOS api库函数之Task Utilities(任务实用程序)

uxTaskGetSystemState()UBaseType_t uxTaskGetSystemState(TaskStatus_t * const pxTaskStatusArray,const UBaseType_t uxArraySize, unsigned long * const pulTotalRunTime);uxTaskGetSystemState()为系统...

2019-01-30 11:56:13 418

STM32F427 USB VCP DCD官方例程移植程序

芯片采用的是STM32F427ZGT6,作为从设备,虚拟串口移植,在电脑上可以检测出来虚拟串口。

2019-05-05

深入理解Linux内核第三版中文完整版

深入理解Linux内核中文完整版,注意:非阉割,非拆分。

2019-01-22

STM32 485 CAN总线 232资料说明

stm32 实现CAN总线通讯,485串口通讯,以及 232串口通讯说明的说明,和最小系统的说明

2018-12-03

STM32PWM输入捕获模式源码

STM32PWM输入捕获模式源码,采用的是STM32F103系列的单片机

2018-10-31

空空如也

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

TA关注的人

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