完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
本帖最后由 asd1111111111 于 2013-10-4 19:25 编辑
以下是主机和从机的程序,为什么从机在串口助手中显示的数据和主机发送过去的不一样呢,我试着换了几个主机发送的数据,发现从机显示的数据也会改变,但没有规律。请神门指点。。 主机程序: #include #define SPIF (SPSTAT & 0x80) ***it SCLK=P1^7; ***it MISO=P1^6; ***it MOSI=P1^5; ***it SS=P1^4; ***it LED=P1^0; void init_UART() { TMOD=0x20; TH1=0xfd; TL1=0xfd; SCON=0x50; PCON=0x00; SM0=1; SM1=1; REN=1; TR1=1; EA=1; ES=1; ET1=1; } void init_SPI() { SPCTL=0xfd; SPSTAT=0xc0; SPDAT=0; } void main() { init_UART(); init_SPI(); while(1) { SPDAT=15; while(!SPIF); SPSTAT=0xc0; } } 从机程序: #include #include #define SPIF ( SPSTAT & 0x80 ) ***it SCLK=P1^7; ***it MISO=P1^6; ***it MOSI=P1^5; ***it SS=P1^4; ***it LED=P1^1; unsigned int result; void init_SPI() { SPCTL=0xed; SPSTAT=0xc0; EA=1; IE2=0x03; } void Init_UART() { TMOD=0x20; TH1=0xfd; TL1=0xfd; TR1=1; REN=1; SCON=0x50; PCON=0x00; SM0=1; SM1=1; ET1=1; EA=1; ES=1; } void main() { init_SPI(); init_UART(); result=0; while(1) { ES=0; ti=1; printf("the get is:%in",result); while(!TI); ES=1; TI=0; } } void SPI_REC() interrupt 9 { SPSTAT=0xc0; result=SPDAT; } |
|
相关推荐
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
7 浏览 0 评论
26 浏览 1 评论
基于瑞萨FPB-RA4E2智能床头灯项目——1编译环境搭建与点亮驱动ws2812全彩LED
13 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-LCD显示图片编程示例之介绍mmap
644 浏览 0 评论
《DNESP32S3使用指南-IDF版_V1.6》第二章 常用的C语言知识点
1000 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11770 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-24 10:42 , Processed in 0.485979 second(s), Total 74, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号