MSP430FG438作为数据采集外设使用,与主控模块之间通过UART通信(没有hardware flow control,仅用到P2.5(RX), P2.4(TX)),P3.3拉高。MSP430FG438怎样唤醒主控模块?通过单独一个GPIO作为中断输入,给到主控模块?还是仅仅通过UART软件中断?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
MSP430FG438作为数据采集外设使用,与主控模块之间通过UART通信(没有hardware flow control,仅用到P2.5(RX), P2.4(TX)),P3.3拉高。MSP430FG438怎样唤醒主控模块?通过单独一个GPIO作为中断输入,给到主控模块?还是仅仅通过UART软件中断?
谢谢蝈蝈的关注,有兴趣请加QQ 175861972.主模块(市面上常见的GSM/GPRS模块)CPU是ARM9.
MSP430采集与主模块都是别人的产品,我们拿来学习。上电过程中某一个GPIO先于TX(相对MSP430而言)发送数据前850ms,先拉高再拉低(50ms) 或者把主模块唤醒过程中(一旦MSP430这边开始采集,就能唤醒主控),也有类似的过程。但是,测量发现拉高这一动作由主控模块发出,不是由MSP430发给主控,恰好跟我的想象相反。问题就来了,既然这一GPIO先于TX,RX,就应该是用它来通知主控啊?至今不明该GPIO用途,还望指点一二,多谢!
Wu Yang,您好
工作过程是不是这样的?首先,ARM9发出GPIO(类似于片选),唤醒MSP430, MSP430做数据采集或者其他处理,然后再进行UART通信传输数据。个人感觉GPIO是做片选之类,将MSP430唤醒的,假如主模块上连接多个MSP430的话,这种方式就很有效了
补充一下“该GPIO”即P1.0/TA0----default低电平(MSP430),用到的引脚如下:电源、地、P2.4(TX),P2.5(RX),P3.3(Hi),P1.0(Compare/capture),MSP430检测到外部中断开始ADC采样,怎样通知主控呢?闲置状态下,TX,RX皆拉高(并维持)且P1.0低电平,当外部中断进入MSP430(然后唤醒主控),P1.0(被主控)拉高300ms→拉低50ms→拉高500ms→TX开始数据传输→过20ms RX开始传输→直到主控进入待机P1.0重新拉低。再赘述问题:P1.0由主控来控制,且先于TX/RX变化,是谁通过什么方式通知(唤醒)主控呢?(如果P1.0由MSP430控制,很容易自圆其说)
有什么证据证明GPIO是模块控制的?
这种问题要搞清楚最简单的办法是看代码.
否则只能猜,猜的步骤如下,
1)断开GPIO,观察GPRS状态
2)断开UART,接上GPIO,观察GPRS状态.
我以前的经验是MCU通过一个IO口的时序来控制GPRS模块的启动.IO口应该是MCU控制的.
"保持normal连接→开机→初始化→等主控待机→断开MSP430 P1.0与主控GPIO的连接→外部中断引入MSP430(现象;主控模块被唤醒)"
意思是先断开P1.0的情况下,主控模块还能够醒?
那主控的唤醒好像跟P1.0没有关系了。
还有一个问题看看我的理解对不对:
完整连接时 :GPIO的波形: 低(待机)-->高(300mS)-->低(50mS)-->高(500mS)-->低
所以唤醒后GPIO是低电平?