|
使用MSP432P401R进行DS18B20编程时遇到的问题
[复制链接]
前段时间仿照51单片机的程序对DS18B20进行编程,遇到了一些问题。我是一个初学者,希望大家可以给我一点建议 主要是在读这个环节出现了错误,无论是18B20返回什么样的电平,最后都是高电平,所以我总是读出来的温度值总是0.所以我重新对高低电平采集这块进行了学习,发现了新的问题。
1、根据4.7高低电平来控制LED的开通与关断,请问这个程序问题出在哪里啊,希望大神能帮助我一下。
int main(void)
{
/* Halting the Watchdog */
MAP_WDT_A_holdTimer();
GPIO_setAsOutputPin(GPIO_PORT_P1,GPIO_PIN0);
GPIO_setOutputHighOnPin(GPIO_PORT_P1,GPIO_PIN0);//LED亮
MAP_CS_setExternalClockSourceFrequency(32000,48000000);
MAP_GPIO_setAsPeripheralModuleFunctionOutputPin(GPIO_PORT_PJ,
GPIO_PIN0 | GPIO_PIN1, GPIO_PRIMARY_MODULE_FUNCTION);
MAP_CS_startLFXT(false);
MAP_CS_initClockSignal(CS_ACLK, CS_LFXTCLK_SELECT, CS_CLOCK_DIVIDER_1);
MAP_CS_initClockSignal(CS_BCLK, CS_LFXTCLK_SELECT, CS_CLOCK_DIVIDER_1);
//4.7为高电平则LED灭,4.7为低电平LED亮,
while(1)
{
MAP_GPIO_setAsInputPin(GPIO_PORT_P4, GPIO_PIN7);
if(GPIO_getInputPinValue(GPIO_PORT_P4,GPIO_PIN7))
{
GPIO_setOutputLowOnPin(GPIO_PORT_P1,GPIO_PIN0);
delay_ms(100);
}
else
{
GPIO_setOutputHighOnPin(GPIO_PORT_P1,GPIO_PIN0);
delay_ms(100);
}
}
}
2、并且我的板子只要一插上电,就立马烫的不行,热的烫手,但是板子还是能够跑例程,还没有坏。这个问题怎么解决啊,请问,希望板子别太烫了?
|
|