- 博客(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
8373
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
1338
原创 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
236
原创 cJSON:封装与解析(二)
该篇介绍使用 cJSON 封装和解析数组。cJSON的简单使用请看这篇。测试字符串:{ "name": "children info", "info": [ { "name": "lilei", "age": 5, "height": 0.45 }, ...
2019-07-05 18:32:44
1387
原创 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
2605
原创 Linux:Centos 镜像下载地址
Centos 镜像地址(可下载旧版本):http://archive.kernel.org/centos-vault/
2019-07-04 10:55:28
1451
原创 Linux:scp 下载、上传文件
使用 scp命令,实现从服务器下载或向服务器上传文件。一. 从服务器下载1. 下载文件 命令格式: scp <用户名>@<ssh服务器地址>:<文件> <本地文件路径>#下载服务器中 root 目录下的 test.txt 到当前目录scp root@192.168.0.111:/root/test.txt ./2. ...
2019-07-03 09:13:33
315
原创 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
1571
原创 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
2208
原创 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
31895
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
535
原创 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
373
原创 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
384
原创 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
269
原创 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
1381
原创 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
276
原创 Ubuntu:设置root密码
Ubuntu首次安装成功后root的密码是随机的。如果想要使用 “su -” 进入超级用户模式,需要首先设置root密码。使用如下命令进行设置:sudo passwd root根据提示输入的密码就是root密码。...
2018-09-30 17:18:32
240
原创 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
1685
原创 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
13682
原创 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
6846
原创 win7下使用Eclipse编译C文件生成exe
嵌入式开发过程中需要经常调试和验证小功能,比如排序、CRC等。如果直接硬件仿真,比较浪费时间。不如直接在计算机上验证完成以后再移植到嵌入式系统中。这样不需要硬件环境也能够编码。 这里选用Eclipse当做计算机开发环境。在Windows 7下,visual studio也是一个不错的工具,但是VS占用很大空间,而且安装完成以后容易出现缺少库文件的情况(PS:我这里出现过多次)。因此
2017-11-08 21:16:30
2193
原创 jlink调试stm32,debug时读取内存值
程序中为AD采样开启了一个很大的buffer。由于在从串口输出采样值时无法正常保存采样值(丢数据),因此在buffer满以后用keil自带的指令从内存中提取AD值,然后再做分析。步骤:1.采样完成以后,打断点,停止程序运行。2.打开command窗口,执行命令保存数据。 比如:数组为 unsigned short ad_buffer[5000],起始地址为0x200062A8
2016-01-30 11:39:16
5771
原创 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
6241
3
原创 MQTT使用笔记
1. 将数据通过3G模块发送到IBM 的MQTT服务器以后,该服务器会在一段时间(1.5倍的keep alive time)以后(该时 间由建立MQTT链接时 CONNECT消息中的keep alive time参数来决定)断开链接,因此在发送数据时需重新建立 链接。如果需要保证此链接不被断开可以每隔一段时间向MQTT服务器发送PINGREQ来维护此链接。这就
2015-10-29 17:47:30
1204
原创 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
1500
原创 keil 5.16a使用
keil5已经出了很长时间了,突然心血来潮想试用一下,遂从官网下载最新版。安装过程请自行实现。这里说明下遇到的问题。硬件环境:正点原子 mini stm32开发板。1.在debug下设置jlink调试选项时提示更新固件。由于手里的jlink是。。。。(大家都懂得),不敢点 "是",怕变成砖,宿舍又不能重刷固件,所以点 ”否“。回想到以前在安装完keil4.74版本以后也出现了同
2015-09-07 22:12:53
3291
原创 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
9710
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
6029
原创 利用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
7162
转载 485通信
1、对于一个通信链路不是那么可靠的系统,通信波特率如果使用过快会产生问题,9600的误码率比4800的误码率要多得多。2、RS485的使用问题,在系统开发过程中,由于IO资源有限,通常我们将RS485的接收使能脚直接接地了。这样的确可以方便实时接收数据,但是在发送的时候,也会导致一些问题。由于发送脚使能的时候,接收脚势能也是有效的,这时,将会导致自己发送出去的数据同时也会反馈到接收脚上来。
2015-04-16 17:59:13
1055
原创 一台电脑同时使用两个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
8083
1
转载 keil+stm32+jlink利用swd方式进行printf输出
出处:http://www.douban.com/note/248637026/-----------------------------------------------------------------------------------------------作者:prife感谢:hexlog@gmail.com------------------------------
2015-03-10 18:29:06
28956
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
1584
原创 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
1931
原创 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
744
原创 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
507
原创 2012-12-05
没有技术做坚实的后盾,什么话都不敢说,生怕自己说错话别人嘲笑自己。哎。学习不能停止啊,否则离自己当初定下的目标会越来越远。努力学习
2012-12-05 17:35:32
458
原创 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
689
转载 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
695
转载 ucosii任务堆栈的作用是什么呢?
第一,当任务运行时,它用来保存一些局部变量;第二,当任务挂起时,它负责保存任务的运行现场,也就是CPU寄存器的值。堆栈作用的就是用来保存局部变量,从本质上讲也就是将CPU寄存器的值保存到RAM中。在uCOS中,每一个任务都有一个独立的任务堆栈。为了深入理解任务堆栈的作用,不妨分析任务从“出生”到“消亡”的整个过程,具体就是分析任务的建立,运行,挂起几种状态中任务堆栈的变化情况。现在假设
2012-11-05 15:11:11
751
bin_hex.zip
2019-06-30
ESP8266 0.96寸I2C接口OLED
2018-09-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人