- 博客(16)
- 资源 (8)
- 收藏
- 关注
原创 python usb
环境: ubuntu16.04 python3.5 pyusbUSB structure:---- device descriptor |----configurations |---- interfaces |---- endpoints读写USB设备最终都是对端点endpoints的操作,所以我们要找到相应的端点,要找到端点就需要根...
2018-05-03 13:08:55
6145
原创 linux(ubuntu) python 版本切换
在ubuntu里默认安装了python2和python3两个版本,而默认是使用python2的。如果我们想改成python3怎么办呢?可以使用linux的alternatives功能,alternatives常用于管理同一个系统中安装同一个软件的多个版本。比如说python2和python3. alternatives的具体用法这里就不细说了,这里只说说怎么改变python的默认版本。1. ctr...
2018-03-19 14:19:06
11734
原创 python 学习1:环境搭建
python 的开发环境搭建比较简单,可以使用IDE也可以直接使用文本编辑器编辑之后在命令行运行。常用的文本编辑器有notepad++、sublime text等,IDE则有anaconda、visual studio code、pycharm等。这个工具各有优缺点,到底用哪个就看个人编程习惯了。我个人比较喜欢使用IDE,我用的是visual studio code,这是微软开发的一款跨平台的免费...
2018-03-19 11:58:21
258
原创 LPC812 PWM
题:LPC812 输出两路2Mhz PWM方波,死区时间系统时钟设置30Mhz(MSEL = 00100b, PSEL = 01b); The SCTimer clock set to equal system clock, so the PWM period should be 15 clk period, i.e. Tpwm = 30/2 = 15; and then each PWM p
2018-01-22 16:23:13
639
原创 QT移植之:Checking for libz... Configure:error: not found. Check your installation and look into config.
我是用ubuntu14.04,在移植qt的时候遇到这个错误,花了很多时间终于解决了。这个错误非常明显,就是缺少libz库,所以应该安装这个库就可以了,于是我就输入 apt-get install libz,结果又遇到另外一个错误:E:Unable to locate package libz,然后在网上搜索怎么解决这个错误,搜到的结果都是先 apt-get update 就可以了,update
2016-01-11 17:50:19
2372
原创 modbus rtu 工作流程分析
这里以freemodbus-v1.5.0为例,分析一下modbus 的工作流程,从接收到处理再到发送。首先如果接收到主机发来的消息,程序会进入串口中断函数,中断函数必须调用portserial.c的void prvvUARTRxISR(void)函数,在prvvUARTRxISR函数中调用了pxMBFrameCBByteReceived();函数,该函数是个函数指针,在modbus初始化的时候
2015-12-26 16:26:17
3766
原创 在keil4里面把ARM 和51安装在一起的方法
我们做开发的经常会用到ARM和51单片机,在编程的时候ARM一般用KEIL4 ,51的一般用keil3,这样我们就得安装keil3 和keil4,打开工程的时候也是挺麻烦的,那么有没有什么办法只用keil4就可以了呢?当然是可以这样做的,但是我们还是得两个都安装一下,只是用的时候只用keil4就可以了。首先安装keil3,我一般安装在d/keil/目录,然后目录里就出现了C51和UV3两个
2015-04-15 09:47:16
6813
原创 函数指针学习2
float(**def)[10];//def是一个二级指针,它指向的是一个一维数组的指针,数组的元素都是float型的;即def的值代表的是一个地址a1,该地址里面存放的是地址a2,最后那个地址a2所指向的地方是一个一维数组,数组里面的元素是float类型的数。double *(*gh)[10];//gh是一个指针,它指向一个一维数组,数组的元素都是double *型的。d
2015-04-13 22:56:13
539
原创 指针学习1
函数指针:void (*pfunc)();函数返回指针:void *func();const指针:const int*指向const的指针:int *const指向const的const指针:const int* const
2015-04-13 22:53:06
267
原创 用一个宏定义FIND求一个结构体struc里某个变量相对struc的偏移量
struct{ int a; char b[20]; double c;}student;则FIND(student,a); //等于0FIND(student,b);//等于4解析:可以使用#define FIND(struc,e) (size_t)&(((struc*)0)-e)其中(struc *)0表示将常量0强制转化成struc
2015-04-13 21:07:34
413
原创 交换两个数 a和b,不使用任何中间变量
方法一:a=a+b;b=a-b;a=a-b;这种方法的缺点是如果两个数较大,则有可能溢出。方法二:a=a^b;b=a^b;a=a^b;这种方法不用担心越界问题,很好。
2015-04-13 20:56:48
514
原创 有两个变量a 和 b,不用if、?: 、switch 或者其他判断语句,找出两个数中比较大的那个
方法一:int max = ((a+b)+abs(a-b))/2;方法二:int c = a-b;char *strs[2] = {"a large","b large"};c = unsigned(c)>>(sizeof(int)*8-1);//判断符号位
2015-04-13 20:53:45
869
转载 用一个表达式,判断一个数X是否是2的n次方(2,4,8,16...),不可以用循环语句。
从程序员面试宝典看到的题目,觉得非常好,很有启发,故载之。2、4、8、16这样的数转化成二进制是10、100、1000、10000,如果X减1后与X做与运算结果是0,则表明X是2的n次方。!(X&(X-1))
2015-04-13 20:41:46
1232
原创 求一个数转化成二进制之后包含1的数量
这个程序是在程序员面试宝典里看到的,在这里记下来以方便学习。#includeusing namespace std;int func(int x){ int count = 0; while(x) { count++; x=x&(x-1); } return count;}int main()
2015-04-13 20:32:37
444
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人