完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
现在的问题是当我要去读ADXL362时,先片选,但是一片选,430的SIMO口的电压就被拉高,但是它能在SMCLK时钟下发送正确的信号。程序如下,新生请谅解。我还附件了时钟与主机输出信号图,还有一张是片选和主机输出信号图。
#include #define CPU_F ((double)8000000) #define delay_us(x)__delay_cycles((long)(CPU_F*(double)x/1000000.0)) #define delay_ms(x)__delay_cycles((long)(CPU_F*(double)x/1000.0)) void Init_CLK(void) { WDTCTL = WDTPW + WDTHOLD; // Stop WDT unsigned int i; BCSCTL1 &=~XT2OFF; do { IFG1 &=~OFIFG; for(i=0xFF;i>0;i--); } while((IFG1 & OFIFG)); BCSCTL2 |=0x8B; } void UCB0_SPI(void) //UCB0 SPI配置 { P5SEL |=0x0E; //选择口5.1,5.2,5.3 U1CTL |= SWRST; U1CTL |= CHAR + SYNC + MM + SWRST; // 8-bit, SPI, Master U1TCTL |= CKPH + SSEL1 + STC; // Polarity, SMCLK, 3-wire U1BR0 = 0x02; // SPICLK = SMCLK/2 U1BR1 = 0x00; U1MCTL = 0x00; ME2 |= USPIE1; // Enable USART1 SPI mode U1CTL &= ~SWRST; } unsigned char ADXL_SPI_read() { unsigned char k; P2DIR |=0x08; P2OUT &=~0x08; TXBUF1=0x0B; while (!(IFG2 & UTXIFG1)); TXBUF1=0x00; while (!(IFG2 & UTXIFG1)); TXBUF1=0xFF; while (!(IFG2 & UTXIFG1)); k=RXBUF1; P2OUT|=0x08; return k; } void main(void) { P5SEL |=BIT5; P5DIR |=BIT5; Init_CLK(); UCB0_SPI(); while(1) { P2DIR |=0X10; P2OUT ^=0X10; ADXL_SPI_read(); delay_ms(5); |
|
相关推荐
1个回答
|
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
寻求ADF5355类似的微波源,在DC-15GHz内,锁频时间在1ms内
1788 浏览 0 评论
1630 浏览 0 评论
999 浏览 0 评论
1100 浏览 0 评论
ADF5355失锁: 在用ADF5355进行多次扫频时,延时给了500ms还是经常会失锁
1189 浏览 0 评论
ADC3442采集,分析数据出现有规则毛刺,请问是哪方面的问题啊?
2845浏览 3评论
2087浏览 2评论
给ADUM4223 增加信号驱动15V电压就不正常, 波动很大会被烧是什么情况?
2120浏览 2评论
1173浏览 2评论
使用ADI官方提供的no-OS來接收GPS L1(1575.42MHz)的資料
1405浏览 1评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 07:41 , Processed in 1.572977 second(s), Total 74, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
4857