ubuntu和raspberry下调试python_spi备忘
Ubuntu12.04 自安装python3.3中头文件Python.h路径:usr/local/python3.3/include/python3.3m
Ubuntu12.04 自带的Python2.7中头文件Python.h路径:usr/ include/python2.7
Ubuntu12.04 自安装python3.3解释器Python路径:usr/local/python3.3/bin
Ubuntu12.04 自带的Python2.7解释器Python路径:usr/ bin
但默认解释器是python2.7,所以无论在哪个目录下输入python都是python2.7(可能是在安装python3.3时建立了连接关系)
现在将python2.7备份:sudo cp /usr/bin/python ./pythonback
删除原python:sudo rm usr/bin/python
建立新连接 sudo ln -s /usr/local/python3.3/bin/python3.3 /usr/bin/python
之后输入python默认的就是python3.3解释器了,如果想使用python2.7可以在/usr/bin目录下使用pythonback
如果不想更改默认连接,则可以在/usr/local/python3.3/bin目录下使用python3.3
在ubuntu12.04上:
spi源文件名:spi.c 测试文件名:spi_test.py
编译2.7版spi.c:
gcc -fpic -c -I/usr/local/python3.3/include/python3.3m spi.c =>spi.o(用Python3.3的头文件python.h)
gcc -shared -o spi.so spi.o =>spi.so(产生共享库spi.so文件)
python spi_test.py
编译3.3版spi.c
gcc -fpic -c -I/usr/include/python2.7 spi.c
gcc -shared -o spi.so spi.o
pythonback spi_test.py
在raspberry上:
nano使用:
sudo nano /etc/hosts
完成后按ctrl+x退出,按y保存,回车,OK
raspberry找不到spidev0.0和spidev0.1的解决办法:
修改系统配置
- $ sudo nano /etc/modprobe.d/raspi-blacklist.conf
都注释掉,修改为:
- # blacklist spi and i2c by default (many users don't need them)
- #blacklist spi-bcm2708
- #blacklist i2c-bcm2708
修改加载模块
- $ sudo nano /etc/modules
改为:
- snd-bcm2835
- i2c-dev
- spidev
主要是增加 spidev
重启之后,/dev/中会多出两个设备 spidev0.0 与 spidev0.1, 没有出现的话请google排错。
具体参见:http://www.shumeipai.net/forum.php?mod=viewthread&action=printable&tid=19410
编译python2.7代码:
raspberry的python.h路径:/usr/include/python2.7
raspberry的python2.7解释器路径:/usr/bin python2.7
pi@raspberrypi:~/Documents/python_spi/python_spi_2$ gcc -fpic -c -I/usr/include/python2.7 spi.c
pi@raspberrypi:~/Documents/python_spi/python_spi_2$ gcc -shared -o spi.so -I/usr/include/python2.7 spi.o
pi@raspberrypi:~/Documents/python_spi/python_spi_2$ python spi_test.py
#raspberry的python3.2解释器路径:
#pi@raspberrypi:/usr/bin$ python3.2mu
#Python.h文件路径:/usr/lib/pypy-upstream/include/
python3.3的python.h文件路径:/usr/local/Python-3.3..2/include/python3.3m/
python3.3解释器python3.3文件路径:/usr/local/Python-3.3..2/bin
将/usr/local/Python-3.3..2/bin添加到PATH路径后,在该路径下即可使用python3.3解释器
pi@raspberrypi:/usr/local/Python-3.3..2/bin$ python3.3
编译:
pi@raspberrypi:~/Documents/python_spi/python_spi_3$ gcc -fpic -c -I/usr/local/Python-3.3..2/include/python3.3m spi.c
pi@raspberrypi:~/Documents/python_spi/python_spi_3$ gcc -shared -o spi.so -I/usr/local/Python-3.3..2/include/python3.3m spi.o
pi@raspberrypi:~/Documents/python_spi/python_spi_3$ /usr/local/Python-3.3..2/bin/python3.3 spi_test.py
ubuntu和raspberry下调试python_spi备忘的更多相关文章
- ubuntu下串口编程备忘
弄了一下串口,一个小问题多折腾了下,备忘.软件环境:zl@zhanglong:~$ cat /etc/lsb-release DISTRIB_ID=UbuntuDISTRIB_RELEASE=12.0 ...
- tomcat远程调试参数备忘
tomcat远程调试,启动时添加参数: -server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,ser ...
- (转)利用libcurl和国内著名的两个物联网云端通讯的例程, ubuntu和openwrt下调试成功(四)
1. libcurl 的参考文档如下 CURLOPT_HEADERFUNCTION Pass a pointer to a function that matches the following pr ...
- Asp.Net调试方法备忘
由于种种原因导致vs不能启用Web服务器调试.可用如下方法来执行调试. 1.在vs中选择 调试>启动不调试(ctr+f5), 2.设置你需调试的相关断点,然后选择 调试>进程.选择Aspn ...
- Ubuntu 14.04 忘记用户密码(备忘)
参考文章地址:www.linuxidc.com/Linux/2013-11/92236.htm 重启电脑 开机就会进入一个Grub引导页面,选择 "Ubuntu 高级选项"之后,按 ...
- linux下常用命令备忘
转自:Linux 命令集锦 linux下查看监听端口对应的进程 # lsof -i:9000 # lsof -Pnl +M -i4 如果退格键变成了:"^h". 终端连接unix删 ...
- Linux下Vim使用备忘
1.Insert键,决定是Insert模式还是Replace模式. 2.Esc键,退出编辑模式(Insert Or Replace). 3.:wq (ZZ) 保存并退出Vim. http://caib ...
- WPF 用户控件的自定义依赖属性在 MVVM 模式下的使用备忘
依赖属性相当于扩充了 WPF 标签的原有属性列表,并可以使用 WPF 的绑定功能,可谓是十分方便的:用户控件则相当于代码重用的一种方式:以上几点分开来还是比较好理解的,不过要用到MVVM 模式中,还是 ...
- sqlserver -- 学习笔记(一)自定义函数(学习总结,备忘)
SQL Server自定义函数,以前只在书上看过,没有动手去敲一敲,今天刚好接触到,看了几篇博文学习了下.做好备忘很重要!! (@_@)Y Learn from:http://www.cnblogs. ...
随机推荐
- python数据类型之字典(dict)和其常用方法
字典的特征: key-value结构key必须可hash,且必须为不可变数据类型.必须唯一. # hash值都是数字,可以用类似于2分法(但比2分法厉害的多的方法)找.可存放任意多个值.可修改.可以不 ...
- LeetCode(164)Maximum Gap
题目 Given an unsorted array, find the maximum difference between the successive elements in its sorte ...
- bash脚本编写基础
bash脚本编程 命令的堆砌 脚本程序:解释器解析执行 shell:交互式接口,编程环境 shell:能够提供一些内部命令,并且能通过PATH环境变量找到外部命 ...
- foreach ($users as $key=>$value)
1: foreach(array_name as $value) { statement; } 这里的array_name是你要遍历的数组名,每次循环中,array_name数组的当前元素的值被赋给$ ...
- foreach遍历数组的表格
<?php /** * * @authors Your Name (you@example.org) * @date 2017-03-17 19:06:19 * @version $Id$ */ ...
- meta-data
<meta-data android:name="string" android:resource="resource specification" ...
- [POJ 1008] Maya Calendar C++解题
Maya Calendar Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 62297 Accepted: 192 ...
- 《Nginx高性能Web服务器详解》
第1章 Nginx初探 第2章 Nginx服务器的安装部署 第3章 Nginx服务器架构初探 第4章 Nginx服务器的高级设置 第5章 Nginx服务器的Gzip压缩 第6章 Nginx服务器的Re ...
- day01_10.for循环
for和while都是一种循环 解释:所有循环的共同点 画图详解 在一条数轴上,循环就是有起始点($i=0); 有结束点($i<=10);有步长($i++); 每走一个相应的步长,就执行一次代码 ...
- 03-python进阶-爬虫入门-正则
[urllib and urllib2] 这是两个python的网络模块 内置的 提供很好的网络访问的功能. #!coding:utf-8 import urllib2 res = urllib2.u ...