SPI单片机发送ARM接收
来源:互联网 发布:阿里云金牌合作伙伴 编辑:程序博客网 时间:2024/06/03 01:42
发送:
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真他妈多
- SPI单片机发送ARM接收
- 单片机串口接收发送函数
- ARM 硬件 红外发送接收
- MS51单片机通用串口发送接收程序
- 51单片机串口的发送与接收
- LAB6052逻辑分析仪SPI分析设置与24L01发送/接收SPI通讯图
- 51单片机串口通信的发送与接收(转)
- 单片机IO口模拟串口程序(发送+接收 )
- 51单片机串口通信的发送与接收(转)
- 51单片机串口通信的发送与接收(转)
- 51单片机串口通信的发送与接收(转)
- 51单片机串口通信的发送与接收(转)
- 51单片机串口通信的发送与接收(转)
- 51单片机串口通信的发送与接收
- 51单片机串口通信(字符串接收和发送)
- 一个简易的51单片机串口接收和发送程序
- 单片机 模拟SPI程序
- 单片机模拟spi通信
- jQuery中fadeIn、fadeOut、fadeTo的用法(图片隐藏与显示)
- Java根据汉字获取汉字对应的首字母
- J2EE中文乱码
- A - Alien's Organ
- 珍藏40个android应用源码分享
- SPI单片机发送ARM接收
- 标准库中的map和set
- G - Gibonacci number
- 程序间跳转
- [并发并行]_[pthread]_[使用线程池并发复制文件]
- H - Happy Programming Contest
- google是怎样工作的
- HDU 1232 畅通工程
- UVa 532Dungeon Master