自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

大川搬砖

㋛生命在于运动,知识在于积累

  • 博客(65)
  • 资源 (7)
  • 收藏
  • 关注

原创 Python:批量创建多个文件

有时因为测试需要,需要创建多个有规律的文件,比如 test_1.txt test_2.txt …… test_300.txt。我们可以通过一个 python 脚本来实现此功能。此脚本中用到了 os 模块的 mknod 方法。该方法用来在文件系统中创建一个节点(file, device special file or named pipe)。#!/usr/bin/env python3...

2019-07-30 17:47:50 8198 2

原创 Apache Portable Runtime Project

简称:APR。主要目的是提供 API,使用户在编码时无需考虑平台(Windows、Linux),只需关注自己的上层应用即可。包含 3 个工程:1. Apache Portable Runtime library:APR 的基本库,提供了内存管理、文件操作、线程池、哈希表、网络等功能。2. Apache Portable Runtime Utility library:APR 工具库,提...

2019-07-29 17:28:29 1260

原创 C:数据类型

1. 基本数据类型: 字符类型:char 整型:short,int,long 浮点型:float,double 基本数据类型是我们写程序过程中用的最多的。其实,我认为使用重定义以后的数据类型会更好。2. 重定义后的数据类型: 字符类型:int8_t,uint8_t 整型:int16_t,uint16_t,int32_t,uint32_...

2019-07-11 18:12:07 179

原创 cJSON:封装与解析(二)

该篇介绍使用 cJSON 封装和解析数组。cJSON的简单使用请看这篇。测试字符串:{ "name": "children info", "info": [ { "name": "lilei", "age": 5, "height": 0.45 }, ...

2019-07-05 18:32:44 1270

原创 cJSON:封装与解析(一)

JSON:JavaScript Object Notation,一种数据交互格式。cJSON:C 语言实现,用于封装和解析 json 数据。cJSON开源地址:https://github.com/DaveGamble/cJSON测试字符串:{ "name":"sdc", "age":24, "height":1.78}1. 封装enum j...

2019-07-05 17:38:42 2491

原创 Linux:Centos 镜像下载地址

Centos 镜像地址(可下载旧版本):http://archive.kernel.org/centos-vault/

2019-07-04 10:55:28 1299

原创 Linux:scp 下载、上传文件

使用 scp命令,实现从服务器下载或向服务器上传文件。一. 从服务器下载1. 下载文件 命令格式: scp <用户名>@<ssh服务器地址>:<文件> <本地文件路径>#下载服务器中 root 目录下的 test.txt 到当前目录scp [email protected]:/root/test.txt ./2. ...

2019-07-03 09:13:33 220

原创 Centos:Public key for *.rpm is not installed

原因:当使用 yum 安装 rpm 软件包的时候,yum 会校验软件包中的私钥是否正确。解决方法:1. 对单个软件包yum install --nogpgcheck -y curl2. 对所有软件包 修改 /etc/yum.conf 文件,将 gpgcheck 赋值为0,即 gpgcheck = 0。# /etc/yum.conf 文件内容[main]cach...

2019-06-28 15:53:30 1399

原创 Centos:更换为网易镜像源

网易开源镜像站:mirrors.163.com1. 备份当前 repo 文件mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup2. 下载对应 repo 文件wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163...

2019-06-28 14:56:19 2079

原创 Linux:cannot open shared object file: No such file or directory

先说答案:执行 sudo ldconfig 或者执行 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/library。解决思路:1. 确定相关 so 库已经在 /usr/lib/ 目录下。2. 确定 CMakeLists.txt 中设置正确。find_library(OSS_LIBRARY NAMES oss_c_sdk PA...

2019-06-26 15:00:04 31595 1

原创 Python:脚本的执行

现有如下python脚本(test.py)需要执行:#!/usr/bin/env python3# -*- coding: utf-8 -*-"""@file:test.py@author:sdc@time:2018/12/27 9:26"""print('Hello world')Windows 环境 命令行(cmd.exe)中输入:python test.p...

2018-12-28 09:17:40 456

原创 Python:去除目录下所有 .c .h 文件中多余的空格(三)

功能:去除 .c和.h文件中多余空格。此处的多余空格指的是行尾的空格和空行行首的空格。环境:Windows 7旗舰版Python:3.6.5Version 3:(支持多及目录;将非utf-8编码文件改为utf-8编码)# -*- coding: utf-8 -*-"""Created on Fri Nov 9 08:50:54 2018@author: sdc"""...

2018-12-27 09:03:17 330

原创 Python:去除目录下所有 .c .h 文件中多余的空格(二)

功能:去除 .c和.h文件中多余空格。此处的多余空格指的是行尾的空格和空行行首的空格。环境:Windows 7旗舰版Python:3.6.5Version 2:(支持多及目录)# -*- coding: utf-8 -*-"""Created on Fri Nov 9 08:50:54 2018@author: sdc"""import sysimport os...

2018-12-27 08:56:18 351

原创 Python:去除目录下所有 .c .h 文件中多余的空格(一)

功能:去除 .c和.h文件中多余空格。此处的多余空格指的是行尾的空格和空行行首的空格。环境:Windows 7旗舰版Python:3.6.5Version 1:(只支持单级目录)# -*- coding: utf-8 -*-"""Created on Fri Nov 2 09:23:17 2018@author: sdc"""import sysimport o...

2018-11-08 09:10:55 243

原创 Ubuntu16.04安装中文man手册

1. 安装manpages-zhsudo apt install manpages-zh2. 设置别名cman,用于显示中文alias cman='man -M /usr/share/man/zh_CN'目前man的中文手册支持的不是很全面,比如查询timer_create时就提示“没有timer_create的手册页条目”。...

2018-10-30 15:27:59 1324

原创 Ubuntu:vmware与windows共享文件

参考:https://my.oschina.net/u/1158620/blog/712253目标:vmware中可以访问windows的文件环境:vmware:12.5.5,ubuntu:ubuntu-gnome-16.04.5-desktop-amd64工具:open-vm-tools1. 安装open-vm-tools。这里没有使用vmware-tools,因为在安装vmwa...

2018-09-30 17:41:04 222

原创 Ubuntu:设置root密码

Ubuntu首次安装成功后root的密码是随机的。如果想要使用 “su -” 进入超级用户模式,需要首先设置root密码。使用如下命令进行设置:sudo passwd root根据提示输入的密码就是root密码。...

2018-09-30 17:18:32 202

原创 Python:Win7下Git Bash中调用python脚本

Git Bash中调用python脚本需要使用:winpty python hello.py。每次调用的时候都这么写,太麻烦了。使用alias python='winpty python' 将'winpty python'重命名为'python',这样每次调用的时候直接输入'python hello.py' 就可以了。但是这样只对本次的Git Bash有效,重新打开Git Bash以后需要重新输入...

2018-09-28 15:20:03 1610

原创 Python:获取命令行参数内容及参数个数

执行python脚本的时候,有时需要获取命令行参数的相关信息。C语言通过argc和argv来获取参数的个数和参数的内容,python中通过sys模块的argv来获取参数的内容,使用len(sys.argv)获取参数的个数。示例代码:# -*- coding: utf-8 -*-"""Created on Fri Sep 28 14:17:33 2018@author: sdc"...

2018-09-28 14:33:07 13134

原创 stm32f103串口实用DMA实现收发

目标环境:    MCU:stm32f103C8T6    stm32 library:standard library V3.5.0    RTOS:FreeRTOS实现功能:    a. 接收DMA和串口IDLE中断配合接收不定长数据    b. 使用DMA发送数据一. 初始化#include "stm32f10x.h"#include "stm32f10x...

2018-09-14 17:19:32 6472

原创 win7下使用Eclipse编译C文件生成exe

嵌入式开发过程中需要经常调试和验证小功能,比如排序、CRC等。如果直接硬件仿真,比较浪费时间。不如直接在计算机上验证完成以后再移植到嵌入式系统中。这样不需要硬件环境也能够编码。       这里选用Eclipse当做计算机开发环境。在Windows 7下,visual studio也是一个不错的工具,但是VS占用很大空间,而且安装完成以后容易出现缺少库文件的情况(PS:我这里出现过多次)。因此

2017-11-08 21:16:30 2099

原创 jlink调试stm32,debug时读取内存值

程序中为AD采样开启了一个很大的buffer。由于在从串口输出采样值时无法正常保存采样值(丢数据),因此在buffer满以后用keil自带的指令从内存中提取AD值,然后再做分析。步骤:1.采样完成以后,打断点,停止程序运行。2.打开command窗口,执行命令保存数据。    比如:数组为 unsigned short ad_buffer[5000],起始地址为0x200062A8

2016-01-30 11:39:16 5537

原创 stm32f103 timer1产生400HzPWM

/*timer1时钟为72MHz,产生400Hz,占空比为60%的PWM*/void Bsp_Motor_PWM_Init(void){ TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStruct; TIM_OCInitTypeDef TIM_OCInitStruct; GPIO_InitTypeDef GPIO_Init

2016-01-30 11:12:39 6119 4

原创 MQTT使用笔记

1.    将数据通过3G模块发送到IBM 的MQTT服务器以后,该服务器会在一段时间(1.5倍的keep alive time)以后(该时       间由建立MQTT链接时 CONNECT消息中的keep alive time参数来决定)断开链接,因此在发送数据时需重新建立       链接。如果需要保证此链接不被断开可以每隔一段时间向MQTT服务器发送PINGREQ来维护此链接。这就

2015-10-29 17:47:30 1029

原创 MG3732使用笔记

1.    V_MSME_1V8引脚输出为2.7~2.9V,不是1.8V。怀疑是硬件电路问题,但是可以正常使用。2.    调试模块时尽量不要用断点的方式,因为断点方式会阻碍串口接收数据。3.    上电以后,模块处于关机状态,要给ON/OFF引脚一个持续时间 2500ms -3500ms 的低电平脉冲,模块才能开机。 4.    用ZIPSEND(ZIPRECV)发送(接收)的数据都...

2015-10-28 17:40:36 1436

原创 keil 5.16a使用

keil5已经出了很长时间了,突然心血来潮想试用一下,遂从官网下载最新版。安装过程请自行实现。这里说明下遇到的问题。硬件环境:正点原子 mini stm32开发板。1.在debug下设置jlink调试选项时提示更新固件。由于手里的jlink是。。。。(大家都懂得),不敢点 "是",怕变成砖,宿舍又不能重刷固件,所以点 ”否“。回想到以前在安装完keil4.74版本以后也出现了同

2015-09-07 22:12:53 3205

原创 AD7175-2使用问题记录

1.STM32 SPI接口配置使用SPI前先了解下SPI协议:http://bbs.chinaunix.net/thread-1916003-1-1.html GPIO_InitTypeDef GPIO_InitStruct; SPI_InitTypeDef SPI_InitStruct; /*使能GPIOB, SPI2时钟*/ RCC_APB2Pe

2015-08-03 19:13:06 8765 8

原创 mosquitto配置与使用

环境:redhat server 5.5 i386编译工具:gcc-4.1.2    gcc-c++-4.1.2mosquitto下载地址:http://mosquitto.org/files/source/配置:1.在config.mk文件中将图中两项配置为 "no"如下所示:这两向是openssl相关的东西,具体作用暂时未知,留待以后发掘。2.执

2015-07-10 19:54:47 5937

原创 利用stm32f103的TIM2实现精确延时

void TIM_ResetCounter(TIM_TypeDef * TIMx){ TIMx->CNT = 0;}void TIM2_Delay_ms(unsigned int cms){ unsigned short temp = 0; TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_TimeB

2015-05-07 16:07:48 6987 1

转载 485通信

1、对于一个通信链路不是那么可靠的系统,通信波特率如果使用过快会产生问题,9600的误码率比4800的误码率要多得多。2、RS485的使用问题,在系统开发过程中,由于IO资源有限,通常我们将RS485的接收使能脚直接接地了。这样的确可以方便实时接收数据,但是在发送的时候,也会导致一些问题。由于发送脚使能的时候,接收脚势能也是有效的,这时,将会导致自己发送出去的数据同时也会反馈到接收脚上来。

2015-04-16 17:59:13 963

原创 一台电脑同时使用两个jlink v8

编译工具:keil 4.221.修改jlink的USB号    双击keil安装目录下的jlink.exe,输入命令”usbaddr=2“。    显示成功以后,重新插拔jlink,会在右下角显示”安装jlink驱动成功“。2.在电脑上同时插上两个usb,打开两个工程,然后在下图的SN区域,选择不同的jlink。    至此,一台电脑可以同时使用两个jlnk

2015-03-14 11:30:44 7303 2

转载 keil+stm32+jlink利用swd方式进行printf输出

出处:http://www.douban.com/note/248637026/-----------------------------------------------------------------------------------------------作者:prife感谢:[email protected]

2015-03-10 18:29:06 27723 4

原创 stm32移植过程中遇到的问题

1.Warning: L6305W: Image does not have an entry point. (Not specified or not set due to multiple choices.)

2014-09-14 22:10:19 1459

原创 C:宏定义的影响范围

做项目的时候发现,把头文件中的 printf 相关宏定义去掉以后,设备照常能够通过串口输出内容。为此,在 windows 下用vs2010写了一个最简单的helloworld的测试程序。1. 首先用 vs2010 将输出 "helloworld" 的程序做成一个库。 define_test_lib.h#ifndef __DEFINE_TEST_LIB_H__#define __D...

2014-01-14 09:47:39 1882

原创 s3c2440A操作24C08

我这里实现的是非中断模式下的IIC操作数据手册和代码对照着很容易看懂,尤其是数据手册上IIC那一章的几张程序流程图,一目了然。下面是代码://这里没有用精确延时void delay1(){ int i = 0; int j = 0; for(i = 0; i < 100; i++) { for(j = 0; j < 100; j++); }}/******

2013-04-09 23:04:15 699

原创 C:include

最近用到了FreeType,稍微看了一点源码,在初始化模块的时候看到了一个include的小技巧。我在vs2010上面写了一个小例子。include_file_function.h文件#ifndef __INCLUDE_FILE_FUNCTION_H__#define __INCLUDE_FILE_FUNTIONG_H__FORCECHANGE(a)FORCECHANGE(b...

2013-02-26 09:24:19 478

原创 2012-12-05

没有技术做坚实的后盾,什么话都不敢说,生怕自己说错话别人嘲笑自己。哎。学习不能停止啊,否则离自己当初定下的目标会越来越远。努力学习

2012-12-05 17:35:32 428

原创 RTOS学习笔记

RAW-OS1.tick_list中,剩余时间最少的任务排在最前面。2.时间片轮转发生在同等优先级的任务之间。3.semaphore中,当任务因为得到信号量而被唤醒时,系统从信号量链表的最前端获取任务地址。(在阻塞时,进入队列的方式是 block_way == RAW_BLOCKED_WAY_PRIO)4.queue中,如果opt_send_method = SEND_TO_END

2012-11-15 16:19:06 655

转载 C语言宏定义技巧(常用宏定义)

原址:http://www.cnblogs.com/sdphome/archive/2011/03/27/1997258.html写好C语言,漂亮的宏定义很重要,使用宏定义可以防止出错,提高可移植性,可读性,方便性 等等。下面列举一些成熟软件中常用得宏定义。。。。。。 1,防止一个头文件被重复包含 #ifndef COMDEF_H #define COMDEF_

2012-11-15 09:14:56 669

转载 ucosii任务堆栈的作用是什么呢?

第一,当任务运行时,它用来保存一些局部变量;第二,当任务挂起时,它负责保存任务的运行现场,也就是CPU寄存器的值。堆栈作用的就是用来保存局部变量,从本质上讲也就是将CPU寄存器的值保存到RAM中。在uCOS中,每一个任务都有一个独立的任务堆栈。为了深入理解任务堆栈的作用,不妨分析任务从“出生”到“消亡”的整个过程,具体就是分析任务的建立,运行,挂起几种状态中任务堆栈的变化情况。现在假设

2012-11-05 15:11:11 714

cmake 初阶.pdf

cmake 基础教程。

2021-08-06

bin_hex.zip

1. 支持将bin文件转为hex 2. 使用方法:https://jingyan.baidu.com/article/64d05a022fd656de55f73bee.html

2019-06-30

Bulletproof SSL and TLS

英文原版。高清无水印。 by Ivan Ristić Copyright © 2015 Feisty Duck Limited. All rights reserved. Published in August 2014. Updated in March 2015 (build 592)

2019-04-08

ESP8266 0.96寸I2C接口OLED

1. OLED屏为I2C接口,0.96寸,128*64 2. 压缩包中包括驱动代码(基于ESP8266)和字库制作工具 3. 实用模拟I2C,移植简单 4. 参照野火科技例程

2018-09-14

彻底搞定C指针

这是在网络上很流行的一本书,里面讲解了C的指针问题,非常好,很清晰,有目录

2012-09-12

冰点文库下载器1.8

可以免费下载百度,豆丁上面的文章,您不用再为没有分数而望文兴叹了,有了这一利器,想怎么下就怎么下

2012-05-04

μCOS-Ⅱ中文手册

这是国内人翻译的,是一本入门级别的书,想要学嵌入式系统的,建议先学学ucos-II,比较简单

2012-03-22

空空如也

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

TA关注的人

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