SPI单片机发送ARM接收

发送:

void MCUSPI_WRITE_ADDRESS_DATA(unsigned char data)
{unsigned char i=0;ENABLE_SPI_CS();//????????_delay(10);DISABLE_SPI_CS();Master(data);ENABLE_SPI_CS();//????????	_delay(10);}

void Master(unsigned short Data)
{	unsigned short temp=0b10000000;Master_SDO_DATC=0;//数据线输出Master_SCK=0;do{	Master_SDO_DAT=Data & temp;						//Set SDO StateMaster_SCK=1; _delay(3); Master_SCK=0; //Generate SCK Clocktemp>>=1;									   //Next Bit} while (temp!=0);Master_SDO_DAT=0;Master_SCK=0;
}

void SPI_INIT(void){_cp0c=0x08; _cp1c=0x08;	//MCU做主机的配置Master_SPIENC=0;Master_SDO_DATC=0;Master_SDI_DATC=0;Master_SCKC=0;	}
void main()
{InitPowerOn();SPI_INIT();PAUSE(300);while(1){#if 1if(1==usbpower_flag){UsbPowerOn();}else{UsbPowerOff();}if(1==buttonpower_flag){ButtonPowerOn();}else{ButtonPowerOff();}//Key_record();//Key_audio();#endif//enter_sleep();//MCUSPI_WRITE_ADDRESS_DATA(0xa3);//SPI_WRITE_ADDRESS_DATA(0x1e,0x40);MCUSPI_WRITE_ADDRESS_DATA(0xb4);}
}


接收:

void rtc_mcu_spi_init(void)
{printk("---------rtc_mcu_spi_init--------------\n");gpio_config(MCU_SPI_EN, GPIO_FUNC_SW_INPUT);gpio_config(MCU_SPI_MISO, GPIO_FUNC_SW_INPUT);gpio_config(MCU_SPI_MOSI, GPIO_FUNC_SW_OUTPUT);gpio_config(MCU_SPI_SCL, GPIO_FUNC_SW_INPUT);gpio_set(MCU_SPI_EN);gpio_clr(MCU_SPI_SCL);gpio_set(MCU_SPI_MISO);gpio_set(MCU_SPI_MOSI);//spi_config(MCU_SPI_ID, MCU_SPI_MODE, MCU_SPI_DFS, MCU_SPI_BAUD_RATE);//spi_master_config(SPI_MASTER2, 0, MCU_SPI_MODE, MCU_SPI_DFS, MCU_SPI_BAUD_RATE);//spi_config_ena_pin_polarity(SPI_MASTER2, 0, SPI_CS_POL_HIGH);
}void rtc_mcu_spi_handler(int eid)
{u16 reg;u16 data[2];u16 dat[2];unsigned char i;unsigned char dataspi;while(!gpio_val(MCU_SPI_EN));//一开始就是0、得等一下while(gpio_val(MCU_SPI_EN));	if(!gpio_val(MCU_SPI_EN)){ //if tha MCU_SPI_EN is low do for(i = 0; i <8; i ++){ dataspi |= gpio_val(MCU_SPI_MISO);if(i<7){while(gpio_val(MCU_SPI_SCL));while(!gpio_val(MCU_SPI_SCL));	}dataspi <<= 1;} }printk("======dat[0]===========:%d, %x\n",dataspi,dataspi); }

	//weiqifartc_mcu_spi_init();app_timer_register(TIMER_1HZ, rtc_mcu_spi_handler);
搞了一天、模拟的话感觉有点眉头了、如果用ITRON系统里的API搞不出来、那后面可能还是要用模拟的、
安霸这个鸟系统、BUG真他妈多

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/469823.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

73个word使用终极技巧

1、问&#xff1a;Word里边怎样设置每页不同的页眉&#xff1f;如何使不同的章节显示的页眉不同&#xff1f;答&#xff1a;分节&#xff0c;每节可以设置不同的页眉。文件——页面设置——版式——页眉和页脚——首页不同2、问&#xff1a;请问Word中怎样让每一章用不同的页眉…

AttributeError: type object ‘Image‘ has no attribute ‘open‘

AttributeError: type object ‘Image‘ has no attribute ‘open‘ 原因分析&#xff1a;Image调用顺序出错&#xff0c;因为第一行的from PIL import Image与第二行tkinter import *冲突&#xff0c;tkinter中也含有Image类&#xff0c;所以你使用的是tkinter.Image 解决方法…

微型计算机中存储器分成哪几个等级?它们各有什么特点?用途如何?,《微机原理》复习思考题第十二章存储器.DOC...

《微机原理》复习思考题第十二章存储器第章 存储器?????????????????????????????????????????????????????????? ????????????? ??????????微型计算机中存储器分成哪几个等级&#xff1f;它…

怎么在右键菜单添加快速比较的功能

如果安装beyond compare后&#xff0c;右键不能出现比较选项&#xff0c;可以通过设置 beyond compare完成。选择 工具->选项&#xff0c;在资源管理器整合下面&#xff0c;有一个在资源管理器关联菜单中显示beyond compare的选项&#xff0c;选中该选项即可

下载Pytorch的自带数据集时报错=urllib.error.URLError: urlopen error [SSL: CERTIFICATE_VERIFY_FAILED]

错误原因&#xff1a; 这是一个SSL证书验证错误&#xff0c;当请求一个https站点&#xff0c;但是证书验证错误时&#xff0c;就会报这样的错误。 解决办法&#xff1a; 只需在代码中加入如下两行将跳过证书的检查&#xff0c;即可成功访问网页。 # 全局取消证书验证 impor…

学计算机耗脑子,为什么补脑——脑是耗能大户

原标题&#xff1a;为什么补脑——脑是耗能大户脑是人的身体最重要的部分&#xff0c;是人得以生存和从事各种活动的中枢和指挥官。现代人脑重1300-1500g&#xff0c;占体重的2%&#xff0c;但脑所消耗的能量却占体重的20%&#xff0c;即脑所消耗的能量是它重量的10倍。而且繁重…

C# 多种方式发送邮件(附帮助类)

因项目业务需要&#xff0c;需要做一个发送邮件功能&#xff0c;查了下资料&#xff0c;整了整&#xff0c;汇总如下&#xff0c;亲测可用&#xff5e; QQ邮箱发送邮件 #region 发送邮箱try{MailMessage mail new MailMessage();MailAddress from new MailAddress("发件…

安霸SPI 剖析

最近在搞单片机和A5S的SPI通信 1、A5S是跑的是ITRON的系统、有自己相关的SPI API函数2、单片机这边也是可以熟悉了&#xff0c;发送&#xff0c;接收什么的&#xff0c;我都可以自模拟出来3、但是问题是&#xff0c;A5S上面的API函数的工作是如何的&#xff0c;我一直没怎么弄清…

河南大学计算机科学与技术中外合作,河南大学中外合作办学怎么样

Q1&#xff1a;河南大学中外合作办学宿舍条件如何&#xff1f;你指的是二本的国际教育学院吗&#xff1f;是老校区最好的&#xff0c;住在学校里面&#xff0c;挨着铁塔公园&#xff0c;有暖气&#xff0c;没有空调&#xff0c;有电扇。四个人一间&#xff0c;上床下桌&#xf…

[AssertionError: nput tensor input format are different]

问题描述 writer.add_image(img/fixed_img, denorm(fixed_img.data), 0)报如下错误 assert(len(tensor.shape) len(input_format)), "size of input tensor and input format are different.AssertionError: size of input tensor and input format are different. tenso…

链表的插入、删除、排序的程序

#include<stdio.h> #include<malloc.h> #include<stdlib.h> typedef struct node {int data;struct node * pNext; }*pNode,Node; //#define bool int; //#define的意思是单纯的替换&#xff0c;与别名没有关系&#xff0c;而且C语言中没有bool数据类型 type…

linux-2.6.32在mini2440开发板上移植(16)之LED 驱动程序移植

LED 驱动程序移植 编者&#xff1b;对于led的驱动程序&#xff0c;很多文章都有详细的介绍&#xff0c;我的博客里面有一篇专门详解这个的。需要看的&#xff0c;可以找下。led灯的驱动其实就代表了I/O口的驱动。在linux系统下&#xff0c;操作一个I/O口&#xff0c;可以说实在…

单变量批量梯度下降算法与单变量随机梯度下降算法

2.3 代价函数的直观理解I 让我们通过一些例子来获取一些直观的感受&#xff0c;看看代价函数到底是在干什么。 2.4 代价函数的直观理解II 代价函数的样子类似于等高线图&#xff0c;则可以看出在三维空间中存在一个J(θ0,θ1)使得最小的点。 通过这些图形&#xff0c;我希望你…

一台计算机连入计算机网络后通过该计算机,一台计算机连入计算机网络后,该计算机( )。...

摘要&#xff1a;计算机连当碰撞已不可避免时,船舶应根据良好船艺的要求采取最有效的行动以减小碰撞的损失,下列说法正确的是()。①应避免两船首相撞;②应避免一船船首撞入他船机舱附近或船中;③应尽量使两船相撞前相对速度达到最大;④应尽量使两船相撞前相对速度达到最小。算机…

LCD驱动移植(一)

一、种类 LCD的种类比较多,有以下四种,不过现在我们用的大多是TFT液晶显示屏 1、TN型显示器 2、STN型彩色显示器 3、DSTN型显示器 4、TFT显示器 二、LCD参数 (1)尺寸

python调用其他程序或脚本方法(转)

python运行&#xff08;调用&#xff09;其他程序或脚本 在Python中可以方便地使用os模块运行其他的脚本或者程序&#xff0c;这样就可以在脚本中直接使用其他脚本&#xff0c;或者程序提供的功能&#xff0c;而不必再次编写实现该功能的代码。为了更好地控制运行的进程&#x…

反向传播+代码实现

ywx的反向传播代码实现 import torch x_data [1.0, 2.0, 3.0] y_data [2.0, 4.0, 6.0]#w是Tensor(张量类型)&#xff0c;Tensor中包含data和grad&#xff0c;data和grad也是Tensor。 # grad初始为None&#xff0c;调用l.backward()方法后w.grad为Tensor&#xff0c; # 故更…

考研专业课计算机网络调剂,计算机网络信息中心2019年硕士研究生接收调剂信息公告...

一、外单位考生调剂1.接收调剂要求报考学科门类 政治理论 外国语 业务课一 业务课二 总分工学(08) 同国家复试分数线基本要求 325工程(0852) 同国家复试分数线基本要求 325中心调剂指标预计在4人左右&#xff0c;均为计算机技术专业。2.调剂流程1、3月26日14&#xff1a;00至3月…

linux目录树(书本上看到)

LINUX的目录树 /bin bin 是binary 的缩写。这个目录是对UNIX 系统习惯的沿袭,存放着使用者最经常使用的命令。例如:cp,ls,cat。 /boot 这里存放的是启动LINUX 时使用的一些核心文件。 /dev dev 是device(设备)的缩写。这个目录下是所有LINUX 的外部设备,其功能类似DOS 下的.…

Collection中Set集合在应用中常见的方法和注意点

Set集合 &#xff1a; 元素无序的&#xff0c;元素不允许重复。 ---->HashSet : 存值方式使用哈希表来存值的。 原理 &#xff1a; 如果HashSet中存放对象 ,首先会调用对象的hashCode方法获取到哈希值&#xff0c;通过哈希值做移为等运算&#xff…