完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
回复本帖可获得 2 分积分奖励! 每人限 2 次 |
本帖最后由 yhl123 于 2016-2-21 19:41 编辑
/**************宏定义***************/ #define CLR_SCLK P5OUT&=~BIT3 //SCLK = P5.3 #define SET_SCLK P5OUT|=BIT3 #define CLR_DIN P5OUT&=~BIT1 //DIN = P5.1 #define SET_DIN P5OUT|=BIT1 #define CLR_CS P5OUT&=~BIT0 //CS = P5.0 #define SET_CS P5OUT|=BIT0 #define DOUT_vsl P5IN&BIT2 //DOUT=P5.2 ulong Respons_Dat=0; //应答数据 float VRmsa=0; //电压均方根 uint One_Sec_time=0; uint Tempreture=0; //温度 uchar Receive_Dat[3]={0},Tx_Send[5]={0};//接收时间,发送时间 uchar Allow_Send_flag=0,Caculate_Use=0; void InitUART(void) { P3SEL |= 0x30; // P3.4,5 = USART0 option select ME1 |= UTXE0; // Enable USART0 TXD/RXD UCTL0 |= CHAR; // 8-bit character UTCTL0 |= SSEL1; // UCLK = SMCLK UBR00 = 0x68; // 1Mhz/9600 - UBR10 = 0x00; // UMCTL0 = 0x40; // modulation UCTL0 &= ~SWRST; // Initialize USART state machine } /******************************************* 函数名称:Delay5ms 功 能:延时约5ms 参 数:无 返回值 :无 ********************************************/ void Delay5ms(void) { uint i=40000; while (i != 0) { i--; } } ////////////////////////////////////////////// /////////// 延时函数 //////////////// //////////////////////////////////////////// void delay(uint m) { uint i,j; for(i=0;i for(j=0;j<121;j++) { ; } } } void Delay10us() //@16MHz { unsigned char i; i = 37; while (--i); } void ReadSpi(uchar com_data) { uchar i,j; SET_CS; CLR_SCLK; CLR_CS; Delay10us(); for(i=8;i>=1;i--) { com_data<<=1; SET_SCLK; if(com_data&0x80) SET_DIN; else CLR_DIN; CLR_SCLK; } Delay10us(); for(i=3;i>=1;i--) { for(j=0;j<8;j++) { com_data<<=1; SET_SCLK; if(DOUT_vsl) com_data|=0x01; CLR_SCLK; } Receive_Dat[i-1]=com_data; } SET_CS; } void WriteSpi(uchar com_data) { uchar i=0,j=0; SET_CS; CLR_SCLK; CLR_CS; Delay10us(); for(i=8;i>=1;i--) { SET_SCLK; com_data<<=1; if(com_data&0x80) SET_DIN; else CLR_DIN; Delay10us(); CLR_SCLK; Delay10us(); } for(i=3;i>=1;i--) { com_data=Receive_Dat[i-1]; for(j=0;j<8;j++) { com_data<<=1; SET_SCLK; if(com_data&0x80) SET_DIN; else CLR_DIN; Delay10us(); CLR_SCLK; Delay10us(); } } SET_CS; } |
|
相关推荐
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
347 浏览 1 评论
593 浏览 0 评论
1662 浏览 2 评论
想设置信号输入阻抗为10M,请问可以直接通过在信号两端并联R43实现吗?
1315 浏览 2 评论
不懂硬件第一次搞板子,求助各位大佬,zeta电路上电就烧!!!!
1210 浏览 5 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-11 04:28 , Processed in 0.490605 second(s), Total 74, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191