我在获得一个SPI程序时遇到了问题,我正在努力使它正确运行,这似乎是SPI_IOC_MESSAGE(N)宏的一些问题。
下面是不工作的示例代码(ioctl返回EINVAL (22) ):
std::vector<spi_ioc_transfer> tr;
<code that fills tr with 1+ transfers>
// Hand the transmission(s) off to the SPI driver
if (tr.size() > 0)
{
int ret = ioctl(fd, SPI_IOC_MESSAGE(tr.size
下面是中的image.py示例,用于通过黑屏上的i2c驱动BeagleBone显示器。它给了我一个IOError,但我对它的意思感到困惑。IOError可能是代码本身的问题,还是BeagleBone上的i2c配置问题?
import time
import Adafruit_GPIO.SPI as SPI
import Adafruit_SSD1306
import Image
# Beaglebone Black pin configuration:
RST = 'P9_12'
# Note the following are only used with SPI:
D
我使用下面的代码从嵌入式板的SPI端口输出数据(olimex 233-micro-它不是板上的特定问题)。当我运行代码时,ioctl返回“坏地址”。我正在修改上的代码,它工作得很好。有人能告诉我我做错了什么吗?
root@ubuntu:/home# gcc test.c -o test
test.c:20: warning: conflicting types for ‘msg_send’
test.c:16: note: previous implicit declaration of ‘msg_send’ was here
root@ubuntu:/home# ./test
errno:B