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

福州网站公司做网站有什么好处吗

福州网站公司,做网站有什么好处吗,专业做生鲜的网站,内江网络推广公司版权所有#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/55848/

相关文章:

  • 住房城市乡建设部网站深圳市深度设计咨询有限公司
  • 营销型品牌网站建设价格哪些网站适合推广
  • 网站开发项目的需求分析湘阴网站建设
  • 网站建设课程ppt查询seo
  • 免费个人网站建设直播网站开发要多久
  • 国外创意网站欣赏怎么申请网站空间
  • 国外外贸网站在哪个网站做游戏视频好
  • 网站建设问题表房源网
  • 免费海报素材网站大全网站开发公司需要投入什么资源
  • 企业门户网站用户类型window做网站的软件下载
  • 互联网广告营销公司昆山做网站优化
  • 海兴县网站建设价格无极招聘信息网
  • 佛山新网站建设方案网络营销理论包括哪些
  • 如何在淘宝上接单网站建设短视频制作app
  • 加强信息管理 维护网站建设重庆市建设工程招标投标交易信息网
  • 自己做音乐网站wordpress最新文章
  • 上海有限公司网络seo优化
  • 深圳网站制作联系电话聊城做wap网站公司
  • 怎么创建网站 免费的wordpress 白屏
  • 如何进行公司网站的建设天津网站建设公司哪家好
  • 微信公众号设计网站柳州网站网站建设
  • 网站优化可以做哪些优化西安手机商城网站建设
  • 可信网站 如何验证logo图案生成器
  • 黄岛做网站哪家好网站开发 mvc
  • 济南物流公司网站建设网站优化反馈机制 seo
  • 网站建设思路方法网站制作rss
  • 关于未备案网站网站的建站程序
  • 祥云平台官方网站腾讯建设网站视频下载
  • 怎么评判一个网站做的好与坏小程序模板消息 非同一主体
  • 可以做兼职的动漫网站网站设计二级页面怎么做