msp430温度传感器,c语言程序,我想在电脑上看到它返回的温度数值,可是总看不到返回值。
作者&投稿:沙壮 (若有异议请与网页底部的电邮联系)
MSP430的问题非常不准,个人使用过感觉是单片机内部的温度一样的,不建议使用
1、温度传感器其实就是ADC这部分自带的一个片上温度检测,当着AD来处理就可以,可以先把片子的串口调通,然后将温度发送到串口,在PC上用调试助手看。
2、加速度传感器也很简单,不出意外应该是SPI接口的(不知道有没有UART的)MSP430只需要将SPI搞搞通就OK了,同样也可以借助串行口来观察现象,在程序里面用UP、Down、Left、Right这样的来标记发送至PC串口检测。或者干脆使用0123来区分也可以,看你喜欢。
3、eZ430-F2013这个板子很不错的,体积小。该有的IO口都引出来了就OK啦,很好弄。相关的的代码可以在TI的官方网站上搜索EZ430就能找到。
4、PS:为何叫着EZ430其实是TI用来谐音Easy 430,相比以往的开发工具更加Easy更容易学习。
5、不明白的地方可以hi我,顺便问一下,在哪里实习。
2、主程序里面只有接收中断哪里可以呢,你这个属于发送中断了,应为你没有直接在主函数里面发出去,估计是你修改的官方的例子,是串口发送一个数据返回一个数据的例子吧
IE2 |= UCA0RXIE; // Enable USCI_A0 RX interrupt
3、UCA0RXBUF = get_temperature();这一句建议使用定义的变量,不要使用UCA0RXBUF这个寄存器,因为你的USCIAB0RX_VECTOR中断是包含发送和接收中断的,你这玩意不就是直接发出去嘛,可以不需要中断直接在主函数里面发送出去。
4、一楼完全是扯淡的,低功耗当然是进入了,在AD中不是有 __bis_SR_register(CPUOFF + GIE); // LPM0 with interrupts enabled这一句么,没问题的,中断中是会对SR操作的,这个自然就自己处理了。只需要再次配置就OK。
4、建议你屏蔽主函数里面的UCA0RXBUF = get_temperature();这一句,在PC端发送数据给单片机看看串口是否通了。
5、配置串口发送中断,应该可以解决问题。
6、F5438的串口中断程序如下:
#pragma vector=USCI_A0_VECTOR
__interrupt void USCI_A0_ISR(void)
{
switch(__even_in_range(UCA0IV,4))
{
case 0:break; // Vector 0 - no interrupt
case 2: // Vector 2 - RXIFG
while (!(UCA0IFG&UCTXIFG)); // USCI_A0 TX buffer ready?
UCA0TXBUF = UCA0RXBUF; // TX -> RXed character
break;
case 4:break; // Vector 4 - TXIFG
default: break;
}
}
7、如果觉得回答的可以,建议追加分数。
“__bis_SR_register(LPM3_bits + GIE); ”进低功耗 但程序中似乎没有退出低功耗的语句 这样是不是 “UCA0RXBUF = get_temperature();” 这条语句就无法执行? 也就没有调get_temperature() 这个函数 ?
实勤派汀: 推荐内部带温度传感器的MCU,例如MSP430F54xx. 在上电初始化之后,连续采集MCU内部的温度值,积分后作为当前环境的常温参考值. 设计外部温度传感器在需要做温度补偿的部分,做好温度补偿曲线.接下来就开始编写控制软件了. 外部温度传感器和MCU的内部温度传感器都是通过ADC进行读取.
夹江县18676501058: 寻求一个基于MSP430与DS18B20的温度采集报警C程序 - ?
实勤派汀: 采集程序我有 至于报警 自己设定吧 这个是DS18B20的程序:#include<msp430x14x.h>#define DQ1 P5OUT|=BIT0#define DQ0 P5OUT&=~BIT0#define DQ_out P5DIR|=BIT0#define DQ_in P5DIR&=~BIT0#define DQ_volt (P5IN&BIT0) typedef ...
夹江县18676501058: 如何用c语言写MSP430的程序 - ?
实勤派汀: 与写51的程序一样,只不过430需要首先关闭看门狗,配置IO口的输入输出寄存器,其他的就按51的思路来写就可以了.
夹江县18676501058: msp430温度传感器,c语言程序,我想在电脑上看到它返回的温度数值,可是总看不到返回值. - ?
实勤派汀: 1、说几点我没去看F2XX的手册,这个是F5X的串口中断,不知道你的中断#pragma vector=USCIAB0RX_VECTOR对不对,建议在官方下载例程看一下. 2、主程序里面只有接收中断哪里可以呢,你这个属于发送中断了,应为你没有直接在主...
夹江县18676501058: MSP430单片机用C语言编写程序需要用什么软件? - ?
实勤派汀: 你是说MSP430的编译器吧,这个是IAR Embedded Workbench这个软件,其实你只要搜索MSP430编译器就会有很多答案了.
夹江县18676501058: 如何用C语言编程,读取MSP430管脚P6.3的数据? - ?
实勤派汀: P6SEL = 0x00; P6DIR |= ~BIT3; temp = P6IN;
夹江县18676501058: 求MSP430读取MLX90615的c语言程序,即使用IIC串行通信的方法读取MLX90615的RAM中的温度值,求大神帮忙!! - ?
实勤派汀: 你可以下载MLX90615其他MCU平台的驱动,51的 avr的或者STM8/32的都可以,只要不是用硬件IIC的就行. 然后下载MLX90615的datasheet,来看IIC的时序. 将其他平台的例程移植到MSP430上,用示波器看SCL 和SDA的波形是否和datasheet上的一致. 不一致的话,就修改延时时间,直到一致为止.
夹江县18676501058: 简单的msp430编程问题C语言 - ?
实勤派汀: 正确的是 IAR默认常数是int型,程序中a为无符号,200有符号,两个有符号数相乘得到是有符号数,再把这个值付给无符号a,于是得到4294941760这个不是乱码是溢出了,一看这种大端数你应该有所注意.可以这样改#include unsigned long ...
夹江县18676501058: MSP430的C语言简单编程问题?
实勤派汀: 首先,msp430没有P0口的,按P1口来说明 P1OUT=4;P1.2引脚输出高电平,P1其余引脚输出低电平; P1OUT|=4;P1.2置高电平,P1其余引脚不变; P1OUT&=~8;即P1OUT&=0xf7,P1.3置低电平,P1其余引脚不变; |是或运算符,&是与运算符,具体请参考C语言应用运算符部分!
夹江县18676501058: 求MSP430 C语言程序?
实勤派汀: 没找到流水灯的,看看这个吧 *********************************************** 程序功能:扫描4X4键盘并将键值在数码管上显示 ------------------------------------------------ 跳线设置:将跳线座J3上的短路帽拔下 ------------------------------------------------ 测试说明:按...