-
感謝分享
剛接觸此MCU請多多指教
-
電表就可以測得了
電表會顯示成平均電壓值
-
已解決
問題在於LaunchPad是3.5V
自行設計的電路板是3.3v
當中公式轉換V數沒更正
-
huixianfxt 发表于 2014-4-8 20:42
你确定把程序下载到芯片中了吗?
確定!
-
原帖由 chunyang 于 2013-10-16 15:45 发表 [url=https://bbs.eeworld.com.cn/redirect.php?goto=findpost&pid=1578019&ptid=416181][/url]
同电脑编写程序、同开发环境是无关的,有关的是MCU的运行环境,这个必须一致。
是的,MCU運行環境也是一至.
就是條件一至下測試
[ 本帖最后由 jhihj1123 于 2013-10-16 15:53 编辑 ]
-
是的,同台電腦編寫,同樣開發環境,同樣CODE
差5度C
-
//******************************************************************************
// MSP430G2x33/G2x53 Demo - ADC10, Sample A10 Temp and Convert to oC and oF
//
// Description: A single sample is made on A10 with reference to internal
// 1.5V Vref. Software sets ADC10SC to start sample and conversion - ADC10SC
// automatically cleared at EOC. ADC10 internal oscillator/4 times sample
// (64x) and conversion. In Mainloop MSP430 waits in LPM0 to save power until
// ADC10 conversion complete, ADC10_ISR will force exit from any LPMx in
// Mainloop on reti. Temperaure in oC stored in IntDegC, oF in IntDegF.
// Uncalibrated temperature measured from device to device will vary with
// slope and offset - please see datasheet.
// ACLK = n/a, MCLK = SMCLK = default DCO ~1.2MHz, ADC10CLK = ADC10OSC/4
//
// MSP430G2x33/G2x53
// -----------------
// /|\| XIN|-
// | | |
// --|RST XOUT|-
// | |
// |A10 |
//
// D. Dang
// Texas Instruments Inc.
// December 2010
// Built with CCS Version 4.2.0 and IAR Embedded Workbench Version: 5.10
//******************************************************************************
#include "msp430g2553.h"
long temp;
long IntDegF;
long IntDegC;
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
ADC10CTL1 = INCH_10 + ADC10DIV_3; // Temp Sensor ADC10CLK/4
ADC10CTL0 = SREF_1 + ADC10SHT_3 + REFON + ADC10ON + ADC10IE;
__enable_interrupt(); // Enable interrupts.
TACCR0 = 30; // Delay to allow Ref to settle
TACCTL0 |= CCIE; // Compare-mode interrupt.
TACTL = TASSEL_2 | MC_1; // TACLK = SMCLK, Up mode.
LPM0; // Wait for delay.
TACCTL0 &= ~CCIE; // Disable timer Interrupt
__disable_interrupt();
while(1)
{
ADC10CTL0 |= ENC + ADC10SC; // Sampling and conversion start
__bis_SR_register(CPUOFF + GIE); // LPM0 with interrupts enabled
// oF = ((A10/1024)*1500mV)-923mV)*1/1.97mV = A10*761/1024 - 468
temp = ADC10MEM;
IntDegF = ((temp - 630) * 761) / 1024;
// oC = ((A10/1024)*1500mV)-986mV)*1/3.55mV = A10*423/1024 - 278
temp = ADC10MEM;
IntDegC = ((temp - 673) * 423) / 1024;
__no_operation(); // SET BREAKPOINT HERE
}
}
// ADC10 interrupt service routine
#pragma vector=ADC10_VECTOR
__interrupt void ADC10_ISR (void)
{
__bic_SR_register_on_exit(CPUOFF); // Clear CPUOFF bit from 0(SR)
}
#pragma vector=TIMER0_A0_VECTOR
__interrupt void ta0_isr(void)
{
TACTL = 0;
LPM0_EXIT; // Exit LPM0 on return
}
直接貼在CCS裡,編譯後燒入 觀察變數IntDegC
-
原帖由 laoguo 于 2013-10-15 20:09 发表 [url=https://bbs.eeworld.com.cn/redirect.php?goto=findpost&pid=1577591&ptid=416181][/url]
运行一样的程序,一样的时间么?
单片机内部的温度的确不准的,内部只是个热敏电阻而已,而且是IC内部温度。
是的,一樣程式,也同一個環境下測試
有每顆IC溫度都不同,
因為這問題與同學起了點爭執
當時測試過三塊版子,四顆IC
最後結論是IC問題,不同IC測試竟然有些IC能差距到5度以上
有個同學強調是IC內部有微型散熱裝置產生的誤差,
但在我認知當中,這種低電流IC沒有所謂的微型散熱裝置.
請問G2553這顆IC本身有微型散熱裝置嗎
[ 本帖最后由 jhihj1123 于 2013-10-15 23:17 编辑 ]
-
目前只是在比較手邊IC
比較過四個IC每顆溫度都不同,程式碼是TI 的 WIKI範例CODE
請問IC內部有散熱元件,或是有散熱材料嗎?
-
嗯嗯 真的很謝謝你!
好久沒在網路上遇到這麼熱心的人了
-
那該如何完成它
能不能給點方向呢
因為C只會基礎的迴圈,函數
對怎麼做出一個UI的程序很陌生
有沒有推薦的開發環境?
[ 本帖最后由 jhihj1123 于 2013-10-14 21:33 编辑 ]
-
我意思用C++做一個UI
-
我只會基礎的C語言,且沒用過C++
若要使用C++做出能顯示UART收到溫度值的UI,
該從哪裏開始學習,距離交作業時間只剩兩個月...
請版主提供一些建議和一些靈感
感謝!
-
若只在DOS上顯示
C該如何實現
能否請大哥提供網址呢?
感激!
-
請問,
類似這種程式要如何寫?
不一定要上大哥的圖這麼好看,能顯示在DOS也好.
感謝!
[ 本帖最后由 jhihj1123 于 2013-10-13 22:15 编辑 ]
-
意思是,不用去考慮單通道600mA,只要不超過峰值1.2A就可以了嗎
感謝回覆
-
我po程式碼。
//******************************************************************************
// MSP430G2xx3 Demo - USCI_A0, Ultra-Low Pwr UART 9600 String, 32kHz ACLK
//
// Description: This program demonstrates a full-duplex 9600-baud UART using
// USCI_A0 and a 32kHz crystal. The program will wait in LPM3, and will
// respond to a received 'u' character using 8N1 protocol. The response will
// be the string 'Hello World'.
// ACLK = BRCLK = LFXT1 = 32768Hz, MCLK = SMCLK = DCO ~1.2MHz
// Baud rate divider with 32768Hz XTAL @9600 = 32768Hz/9600 = 3.41
//* An external watch crystal is required on XIN XOUT for ACLK *//
//
// MSP430G2xx3
// -----------------
// /|\| XIN|-
// | | | 32kHz
// --|RST XOUT|-
// | |
// | P1.2/UCA0TXD|------------>
// | | 9600 - 8N1
// | P1.1/UCA0RXD|
-
感謝 :kiss:
-
感謝回復
能否告訴我該用哪些程式語法