完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
最近在用msp430 F149做一个项目,需要用到2个串口和一个SPI,F149硬件都支持;现在的问题是,
一个周期内USART0需要切换工作模式,由UART0(串口232)切换到SPI;单独调试都没问题,整合起来 之后就有问题了;一个周期先配置串口,采用中断发送数据,然后配置SPI,发送数据;调试之后发现只 有SPI正常通信,串口不发数据了,源代码如下,大家帮忙看看啥问题: P3SEL |= 0x30; UCTL0 |= CHAR + SWRST; // 8-bit character UTCTL0 |= SSEL1; // UCLK = SMCLK UBR00 = 0x45; // 8MHz 115200 UBR10 = 0x00; // 8MHz 115200 UMCTL0 = 0x00; // 8MHz 115200 modulation UCTL0 &= ~SWRST; // Initialize USART state machine ME1 |= UTXE0; // Enable USART0 TXD/RXD IE1 |= UTXIE0; // Enable USART0 RX interrupt i = 0; //中断发数 count2 = 0; TXBUF0 = display[i++]; IE1 &= ~UTXIE0; //initial_spi(); P2DIR |= 0x10; //P2.4作为spi通信的sync口 P2OUT |= 0x10; P3SEL |= 0x0E; //P3~0,1,2,3为第二功能口 UCTL0 |= CHAR + SYNC + MM + SWRST; UTCTL0 = CKPL + SSEL1 + STC; UBR00 = 0x02; UBR10 = 0x00; UMCTL0 = 0x00; UCTL0 &= ~SWRST; //spi使能 ME1 |= USPIE0; //使能spi模块 P2OUT &= 0xef; _NOP(); TXBUF0 = 0x90 | (value>>6); while(!(IFG1 & UTXIFG0)); TXBUF0 = value<<2; while(!(IFG1 & UTXIFG0)); _NOP();_NOP();_NOP();_NOP();_NOP();_NOP(); P2OUT |= 0x10; |
|
相关推荐 |
|
只有小组成员才能发言,加入小组>>
3056个成员聚集在这个小组
加入小组2982 浏览 1 评论
MSP430FR5994 使用库函数 定时器触发AD问题请教
3710 浏览 2 评论
请问怎么把下面51单片机的代码改成msp430 g2 pocket的代码,还有改下时间变成30秒
2367 浏览 1 评论
4834 浏览 1 评论
2595 浏览 1 评论
1595浏览 3评论
MSP430FR5994 使用库函数 定时器触发AD问题请教
3710浏览 2评论
2983浏览 1评论
1790浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-27 22:20 , Processed in 1.179576 second(s), Total 80, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号