完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
int main(void)
{ WDTCTL = WDTPW + WDTHOLD; //关闭看门狗 Init_CLK(); //初始化时钟 Init_Port(); Init_UART(); Init_IIC(); //IIC初始化 MPU9255_Init(); // //MPU9255初始化 _EINT(); //打开全局中断控制 while(1) { MPU9255ReadAcc(Accel); Uart_Putchar(Accel[0]); Uart_Putchar(Accel[1]); Uart_Putchar(Accel[2]); MPU9255ReadGyro(Gyro); Uart_Putchar(Gyro[0]); Uart_Putchar(Gyro[1]); Uart_Putchar(Gyro[2]); } } void Init_UART() { UCA0CTL0 = 0; UCA0CTL1 |= UCSWRST; // Set SW Reset UCA0CTL1 |= UCSSEL_2; // Use SMCLK UCA0BR0 = 0xA0; // 4MHz/416=9600KHz UCA0BR1 = 0x01; //9600 UCA0MCTL=0xC0; 3SEL |= 0x30; //P3.1 3.3作为IIC的SDA和SCL端口,P3.4 P3.5作为调试串口的TXD和RXD端口 3DIR |= BIT4; 3DIR &=~BIT5; //Setting P3.5 input UCA0CTL1 &= ~UCSWRST; // Resume operation IFG2 &=~UCA0TXIFG; //因为UCA0TXIFG默认为1,如果不置0,下面的发送中断使能会直接进入中断函数 __bis_SR_register(GIE); } void Uart_Putchar(unsigned char c) { while((IFG2 & UCA0TXIFG)); //待发送为空 UCA0TXBUF=c; IE2 |= UCA0TXIE; } #pragma vector = USCIAB0TX_VECTOR __interrupt void USCIAB0TX_ISR(void) { IFG2 &=~UCA0TXIFG; IE2 &= ~UCA0TXIE; } 目的很简单,就是把Accel,Gyro里面的数据通过串口发送到PC机显示出来,是不是我对430串口的理解不到位,欢迎各位批评指正。 |
|
相关推荐
5个回答
|
|
帮顶。。。。。
|
|
|
|
|
|
|
|
你的程序中看不出你究竟是想查询发送还是中断发送。中断发送不是那样写
|
|
|
|
#include
int main(void) { volatile unsigned int i; WDTCTL = WDTPW + WDTHOLD; // Stop WDT  3SEL |= 0x30; // 3.4,5 = USART0 TXD/RXD BCSCTL1 |= XTS; // ACLK = LFXT1 = HF XTAL do { IFG1 &= ~OFIFG; // Clear OSCFault flag for (i = 0xFF; i > 0; i--); // Time for flag to set } while ((IFG1 & OFIFG)); // OSCFault flag still set? BCSCTL2 |= SELM_3; // MCLK = LFXT1 (safe) ME1 |= UTXE0 + URXE0; // Enable USART0 TXD/RXD UCTL0 |= CHAR; // 8-bit character UTCTL0 |= SSEL0; // UCLK = ACLK UBR00 = 0x74; // 3.58Mhz/9600 - 372 UBR10 = 0x01; // UMCTL0 = 0x00; // no modulation UCTL0 &= ~SWRST; // Initialize USART state machine IE1 |= URXIE0; // Enable USART0 RX interrupt _BIS_SR(LPM0_bits + GIE); // Enter LPM0 w/ interrupt } #pragma vector=USART0RX_VECTOR __interrupt void usart0_rx (void) { while (!(IFG1 & UTXIFG0)); // USART0 TX buffer ready? TXBUF0 = RXBUF0; // RXBUF0 to TXBUF0 } |
|
|
|
IFG2是串口1的吧
|
|
|
|
只有小组成员才能发言,加入小组>>
3030个成员聚集在这个小组
加入小组2920 浏览 1 评论
MSP430FR5994 使用库函数 定时器触发AD问题请教
3589 浏览 2 评论
请问怎么把下面51单片机的代码改成msp430 g2 pocket的代码,还有改下时间变成30秒
2340 浏览 1 评论
4799 浏览 1 评论
2572 浏览 1 评论
1321浏览 3评论
MSP430FR5994 使用库函数 定时器触发AD问题请教
3591浏览 2评论
2921浏览 1评论
1504浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-26 23:30 , Processed in 1.338430 second(s), Total 89, Slave 71 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号