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

Other Parts Discussed in Thread: MSP430FG438

MSP430FG438作为数据采集外设使用,与主控模块之间通过UART通信(没有hardware flow control,仅用到P2.5(RX), P2.4(TX)),P3.3拉高。MSP430FG438怎样唤醒主控模块?通过单独一个GPIO作为中断输入,给到主控模块?还是仅仅通过UART软件中断?

  • 您好,

    主模块是什么片子?

    如果也是430的话,两种方式都是中断唤醒,都是可以的。

  • 谢谢蝈蝈的关注,有兴趣请加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控制,很容易自圆其说)

  • 蝈蝈您好,针对您12-21-2011 20:24  的答复:

    主控模块睡眠时,应该不会发出CS信号,除非MSP430给它软件/硬件中断,

    我的困惑就在于中断,通过哪一个I/O给到主控

  • 有什么证据证明GPIO是模块控制的?

    这种问题要搞清楚最简单的办法是看代码.

    否则只能猜,猜的步骤如下,

    1)断开GPIO,观察GPRS状态

    2)断开UART,接上GPIO,观察GPRS状态.

    我以前的经验是MCU通过一个IO口的时序来控制GPRS模块的启动.IO口应该是MCU控制的.

  • 这样测得:保持normal连接→开机→初始化→等主控待机→断开MSP430  P1.0与主控GPIO的连接→外部中断引入MSP430(现象;主控模块被唤醒)→双通道示波器分别测量MSP430  P1.0 low, 主控GPIO Hi(昨天下午就做过这样的实验)——一位朋友据此判断正常工作时,MSP430 P1.0(被主控)拉高。看来有待商榷:两个GPIO接在一起,高低电平由线与得到。谢谢蝈蝈O(∩_∩)O~

  • 在线等待Jason的高见,前面还误以为两位是同一个人呢

  • "保持normal连接→开机→初始化→等主控待机→断开MSP430  P1.0与主控GPIO的连接→外部中断引入MSP430(现象;主控模块被唤醒)"

    意思是先断开P1.0的情况下,主控模块还能够醒?

    那主控的唤醒好像跟P1.0没有关系了。

    还有一个问题看看我的理解对不对:

    完整连接时 :GPIO的波形: 低(待机)-->高(300mS)-->低(50mS)-->高(500mS)-->低

    所以唤醒后GPIO是低电平?

  • sorry,前面没有交代清楚:(正常连接)唤醒后,GPIO置高(无论TX出于工作或者空闲),直到再次睡眠,才置低。

    “先断开P1.0的情况下,主控模块还能够醒”,依照上述顺序操作,的确可以唤醒——同意,此时唤醒与P1.0无关