谁是谁的谁

    1. qiushenghua 发表于 2015-6-30 14:06 我的意思是这一句: float Current = ((ADC12MEM0 / 4096 * 3.3) - 1.388) / 3; 不妨将3.3提前去,变成 ...
      谢谢啊,太感谢了,终于成功了,哈哈哈
    2. 数码小叶 发表于 2015-6-30 15:08 要不你把完整的工程传上来吧,还有你用的哪个通道,没见开启啊
      #include #include #include void clock_config(void);   void select_xt1(void);   void dco_config(void);   void adc12_config(void);   void uart_config(void);   char second_flag = 0; int main(void)   {        clock_config();                             // 初始化时钟          adc12_config();                             // 初始化ADC12          uart_config();             TA1CCTL0 = CCIE;                            // 使能TA1CCR0,比较匹配中断          TA1CCR0 = 32768;                            // 初始化最大值,发生比较匹配中断频率 32768/32768 = 1Hz          TA1CTL = TASSEL_1 + MC_1 + TACLR;           // 选择ACLK,最大值为CCR0,清除计数值             _EINT();                                    // 初始化全局中断             while(1)        {              if( second_flag )                {                      second_flag = 0;                        // 1s时间到                         ADC12CTL0 |= ADC12SC;                   // 启动转换                      while(!(ADC12IFG & BIT0));           // 等待转换完成                     // 被转换的通道为通道11 (AVCC-AVSS)/2;                     // 此时转换的精度为12位——4096                      float Current = ((ADC12MEM0 / 4096 * 3.3) - 1.388) / 3;      //uA                    printf("Current = %.3f\r\n",Current);                                                  }           }   }      void clock_config(void)   {            WDTCTL = WDTPW + WDTHOLD;                   // 停止看门狗         select_xt1();                               // 选择XT1         dco_config();                               // ACLK = XT1 = 32.768K                                                    // MCLK = SMCLK = 8000K   }        void select_xt1(void)   {         // 启动XT1         P7SEL |= 0x03;                              // P7.0 P7.1 外设功能         UCSCTL6 &= ~(XT1OFF);                       // XT1打开         UCSCTL6 |= XCAP_3;                          // 内部电容         do         {               UCSCTL7 &= ~XT1LFOFFG;                  //清除XT1错误标记                }while (UCSCTL7&XT1LFOFFG);                 // 检测XT1错误标记   }       void dco_config(void) {       __bis_SR_register(SCG0);       UCSCTL0 = 0x0000;       UCSCTL1 = DCORSEL_5;       UCSCTL2 = FLLD_1 + 243;             __bic_SR_register(SCG0);       //必要延时       __delay_cycles(250000);             //清除错误标志位       do       {                    UCSCTL7 &= ~(XT2OFFG + XT1LFOFFG + XT1HFOFFG + DCOFFG);             SFRIFG1 &= ~OFIFG;                   }while(SFRIFG1 & OFIFG); } void adc12_config(void) {       WDTCTL = WDTPW + WDTHOLD;             //只有在ADC12ENC复位情况下才可以操作       ADC12CTL0 &= ~ADC12ENC;       P6SEL |= 0x01;     //使能A0输入通道       //ADC12CTL0 = ADC12ON;       REFCTL0 &= ~REFMSTR;       //ADC12CTL0 = ADC12SHT0_15 + ADC12SHT1_15 + ADC12ON + ADC12REF2_5V + ADC12REFON;       ADC12CTL0 = ADC12SHT0_15+ ADC12ON + ADC12REF2_5V + ADC12REFON;       ADC12CTL1 = ADC12SHP;       ADC12CTL2 |= ADC12TCOFF;     //关闭内部温度检测以降低功耗       ADC12MCTL0 = ADC12SREF_1;          __delay_cycles(75);             ADC12CTL0 |= ADC12ENC; } void uart_config(void) {       P3SEL = 0x30;              UCA0CTL1 |= UCSWRST;       UCA0CTL1 |= UCSSEL_1;       UCA0BR0 = 3;       UCA0BR1 = 0;       UCA0MCTL |= UCBRS_3 + UCBRF_0;       UCA0CTL1 &= ~UCSWRST;             UCA0IE |= UCRXIE; } int putchar(int ch) {       UCA0TXBUF = ch;       while(!(UCA0IFG & UCTXIFG));       return ch;    } #pragma vector = TIMER1_A0_VECTOR __interrupt void TIMER1_A0_ISR(void) {       second_flag = 1;    }
    3. 数码小叶 发表于 2015-6-30 14:38 不需要关看门都么
      之前的函数里关过了,不用再写一遍的吧。。。不过还是试了下,结果一样。。。那这个程序本身有没有其他问题呢?
    4. qiushenghua 发表于 2015-6-30 14:24 先确认一下是ADC12MEM0一直为0还是Current一直为0? 我怎么觉得是你计算的时候没有转换数据类型,ADC12MEM ...
      Current 一直显示的是-0.463,如下图 之前用类似的程序,用片内AD测过电压,是正常的,所以是ADC12MEM0一直为0,测不到电压
    5. 串口调试助手数据处理问题 15/5618 微控制器 MCU 2015-06-12
      这个问题问的,都不知道该哭还是该笑了
    6. hellokt43 发表于 2015-6-11 11:30 蜂鸣器并个二极管吧
      为什么要加???有什么作用的吗
    7. 我是新手,刚学MSP430,能看一下你的代码吗,想学习学习
    8. 新人求助!!!求大神们帮帮忙 9/3938 微控制器 MCU 2015-05-28
      明白点了,谢谢大家,我再试试
    9. 新人求助!!!求大神们帮帮忙 9/3938 微控制器 MCU 2015-05-28
      aibing 发表于 2015-5-28 14:30 大神都比较忙,我来叨叨两句吧。程序是你自己写的不?一步一步的调试,是串口问题还是AD问题?是配置问题还是处理问题?什么现象也不说,光看程序发现问题估计也只有大神了。
      额。。。是我写的啊,才自学了一个月,调试过了,调试助手上就显示了“0x55”。。。。是不是AD部分UCA0TXBUF=0x55这边不对

最近访客

< 1/1 >

统计信息

已有2人来访过

  • 芯积分:--
  • 好友:--
  • 主题:3
  • 回复:9

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言