博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SPI单片机发送ARM接收
阅读量:1981 次
发布时间:2019-04-27

本文共 2229 字,大约阅读时间需要 7 分钟。

发送:

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 State		Master_SCK=1; _delay(3); Master_SCK=0; //Generate SCK Clock		temp>>=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 1		if(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); }
//weiqifa	rtc_mcu_spi_init();      app_timer_register(TIMER_1HZ, rtc_mcu_spi_handler);
搞了一天、模拟的话感觉有点眉头了、如果用ITRON系统里的API搞不出来、那后面可能还是要用模拟的、
安霸这个鸟系统、BUG真他妈多

转载地址:http://qtrpf.baihongyu.com/

你可能感兴趣的文章
基础架构系列篇-系统centos7中docker安装rabbitmq
查看>>
基础架构系列篇-NGINX部署VUE
查看>>
个人电商项目,基于uni-app+ springcloud +VUE技术
查看>>
基础架构系列篇-系统centos7安装kafka
查看>>
基础架构系列篇-系统centos7中docker安装分布式文件存储服务minio
查看>>
知识点记录-java判断系统是linux或windows
查看>>
知识点记录-springboot静态资源映射路径
查看>>
知识点记录-vue-cli+webpack打包运行图标显示异常
查看>>
知识点记录-springboot2.1集成rabbitmq
查看>>
微服务springcloud2系列篇-配置与注册nacos组件
查看>>
微服务springcloud2系列篇-集成分布式事务seata1.4.1(数据库mysql8)与nacos1.4.1注册配置(WINDOWS环境)
查看>>
数据库系列篇-多数据源集成+springboot+数据库连接池druid(使用注解切换方式) (方便的直接切换方式待更新)
查看>>
数据库系列篇mysql8-分库分表中间件mycat(WINDOWS环境)
查看>>
用户权限设计-基于RBAC模型
查看>>
微服务springcloud2系列篇-网关GATEWAY跨域问题
查看>>
微服务springcloud(H版本)与springboot(2.X版本) maven常见问题整理记录
查看>>
Java并发以及多线程基础
查看>>
软件质量的8个特性
查看>>
应届渣渣前端的艰难求职之路
查看>>
2021年不可错过的17种JS优化技巧(一)
查看>>