当前位置: 首页 > news >正文

律师网站设计织梦网站建设选项卡教程

律师网站设计,织梦网站建设选项卡教程,广州百度竞价开户,wordpress 主机要求版权所有#xff0c;转载请说明转自原创作者#xff1a;南京邮电大学 通信与信息系统专业 研二 魏清五#xff0e;SPI测试代码对于SPI总线驱动#xff0c;我们可以分为SPI控制设备驱动和SPI接口设备驱动。而作为驱动开发人员主要是像SPI移植的时候一样会添加SPI控制设备和…版权所有转载请说明转自原创作者南京邮电大学  通信与信息系统专业 研二 魏清五SPI测试代码对于SPI总线驱动我们可以分为SPI控制设备驱动和SPI接口设备驱动。而作为驱动开发人员主要是像SPI移植的时候一样会添加SPI控制设备和SPI接口设备的私有数据同时驱动开发人员还需要会开发SPI接口设备驱动而我们这个SPI测试实验中我们使用的是内核自带的SPI接口设备驱动代码spidev.c。我们也对内核给的SPI测试代码spidev_test.c进行了修改。同时我们利用mini2440自带的两个SPI接口(spi0和spi1)测试过程中我们只使用spi1根据查找datesheet我们知道spi1的SPIMISO1是GPG5也就是CON4的19引脚。spi1的SPIMOSI1是GPG6也就是CON4的20引脚。所以我们这个应用层测试代码采用自发自收方式所以需要将CON4的19引脚和CON4的20引脚短接。实验环境内核linux2.6.32.2arm-linux-gcc交叉编译器mini2440开发板。内核配置配置时候我们需要选中spi.c spi_gpio.c   spi_s3c24xx.c  spi_bitbang.c  spi_s3c24xx_gpio.cspidev.c文件具体测试代码如下#include#include#include#include#include#include#include#include#include#define ARRAY_SIZE(a) (sizeof(a) / sizeof((a)[0]))static void pabort(const char *s){perror(s);abort();}static const char *device /dev/spidev1.0;//设备名static uint8_t mode;static uint8_t bits 8;static uint32_t speed 500000;static uint16_t delay;static void transfer(int fd){int ret;uint8_t tx[] {      //定义待发送的数据0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,0x40, 0x00, 0x00, 0x00, 0x00, 0x95,0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,0xDE, 0xAD, 0xBE, 0xEF, 0xBA, 0xAD,0xF0, 0x0D,};uint8_t rx[ARRAY_SIZE(tx)] {0, };struct spi_ioc_transfer tr {.tx_buf (unsigned long)tx,   //定义发送缓冲区指针.rx_buf (unsigned long)rx,   //定义接收缓冲区指针.len ARRAY_SIZE(tx),.delay_usecs delay,.speed_hz speed,.bits_per_word bits,};ret ioctl(fd, SPI_IOC_MESSAGE(1), tr);//执行spidev.c中ioctl的default进行数据传输if (ret 1)pabort(cant send spi message);for (ret 0; ret ARRAY_SIZE(tx); ret) {if (!(ret % 6))puts();printf(%.2X , rx[ret]);      //打印接收到的数据}puts();}int main(int argc, char *argv[]){int ret 0;int fd;mode | SPI_CPHA;mode | SPI_CPOL;mode ~SPI_CS_HIGH;fd open(device, O_RDWR);       //打开/dev/spidev1.0if (fd 0)pabort(cant open device);ret ioctl(fd, SPI_IOC_WR_MODE, mode);  //SPI模式设置可写if (ret -1)pabort(cant set spi mode);ret ioctl(fd, SPI_IOC_RD_MODE, mode); //SPI模式设置可读if (ret -1)pabort(cant get spi mode);ret ioctl(fd, SPI_IOC_WR_BITS_PER_WORD, bits);  //SPI的bit/word设置可写if (ret -1)pabort(cant set bits per word);ret ioctl(fd, SPI_IOC_RD_BITS_PER_WORD, bits);   //SPI的bit/word设置可读if (ret -1)pabort(cant get bits per word);ret ioctl(fd, SPI_IOC_WR_MAX_SPEED_HZ, speed);     //SPI的波特率设置可写if (ret -1)pabort(cant set max speed hz);ret ioctl(fd, SPI_IOC_RD_MAX_SPEED_HZ, speed);   //SPI的波特率设置可读if (ret -1)pabort(cant get max speed hz);printf(spi mode: %d\n, mode);printf(bits per word: %d\n, bits);printf(max speed: %d Hz (%d KHz)\n, speed, speed/1000);transfer(fd);                                                        //数据传输close(fd);return ret;}测试结果虚拟机下编译arm-linux-gcc  spi_test.c  -o  spi_test在超级终端下运行./spi_test可以见到0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,0x40, 0x00, 0x00, 0x00, 0x00, 0x95,0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,0xDE, 0xAD, 0xBE, 0xEF, 0xBA, 0xAD,0xF0, 0x0D,
http://wiki.neutronadmin.com/news/266394/

相关文章:

  • 连连跨境电商网站开发app和网站的区别
  • html5 社团网站模板 代码下载网站建设管理是
  • 网站域名注册管理中心宁波住房和建设局网站
  • 青岛公司网站建设公司排名linux系统上的wordpress
  • 哪个做企业网站python开源网站源码
  • 制作网站专业公司吗legenda wordpress主题
  • 温州模板建站公司海南 网站制作
  • 果农在哪些网站做推广网站建设佰金手指科杰二八
  • 企业做什么需要有网站宣传网页
  • 动漫设计与制作好学吗西安seo网站推广优化
  • 网站备案报道购物网站开发问题域分析
  • seo人员要先对网站进行诊断百度首页排名怎么做到
  • 网站建网站建设企业电话绍兴网站的优化
  • 传媒公司 网站开发小程序赚钱吗
  • 怎么做企业网站一级悬浮菜单wordpress wp unslash
  • 内蒙古建设厅安全资料网站抖音短视频推广
  • 有哪些制作网站的公司吗wordpress 建站系统
  • 网站做支付按流量付费吗成都网站建设蜀美网络
  • 成都网站开发环球中心深圳哪家网站建设的公司好
  • 郑州专业公司网站建设公司dedecms做网站全教程
  • 一个完整的个人网站惠州百度网络推广
  • 宁夏自治区建设厅网站苏州做网站企业
  • 孟津网站开发如皋网站设计
  • 网站建设论文附录怎么写开发中英文网站多少钱
  • 网站建设undefined网页浏览器哪个好
  • 苏州园区网站设计公司网站建设 好发信息网
  • 网站开发有什么用网站制作公司拟
  • 杭州市拱墅区建设局网站站酷网怎么样
  • 图片类网站怎样做高并发开发一个网站多少钱啊
  • 网站设计的优缺点建设银行网站网址是什么