22.12.2011, 17:09
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: Отладочные платы для STM32
Сообщение от bishop020
|
Код:
|
int main(void){
GPIO_Configuration();
while(1){
DS1822_Start_Conversion_Skip_Rom(GPIOB,GPIO_Pin_1) ;
delay_ms(750);
test = DS1822_Read_Temp_NoCRC_Skip_Rom(GPIOB,GPIO_Pin_1);
}
} |
А если так?
|
Можно и так. Но в случае ошибки контроллер продолжит выполнение программы. Впрочем, вы же не спутник запускаете. Пробуйте.
* Не забудьте указать частоту работы контроллера в хеадер файле пауз.
Последний раз редактировалось Easyrider83; 22.12.2011 в 17:13.
|
|
|
|
22.12.2011, 17:49
|
|
Частый гость
Регистрация: 05.12.2011
Сообщений: 16
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Отладочные платы для STM32
Код:
|
#include "stm32f10x_gpio.h"
#include "1-wire.h"
#include "stm32f10x_rcc.h"
#include "delays.h"
unsigned int temp=0xFF;
int main(void)
{
GPIO_Configuration();
while(1)
{
if (DS1822_Start_Conversion_Skip_Rom(GPIOB, GPIO_Pin_1)==One_Wire_Success)
{
delay_ms(750);
DS1822_Read_Temp_NoCRC_Skip_Rom(&temp,GPIOB, GPIO_Pin_1);
}
}
}
void GPIO_Configuration(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure);
} |
Вот мой код main'a. Походу он не находит датчик.Частота стоит 24Мhz в header'e delays.h и в system_stm32f10x.c. В чем может быть причина?
|
|
|
|
22.12.2011, 17:59
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: Отладочные платы для STM32
Что возвращает функция посмотреть через дебаг можете?
Попробуйте другой пин. Например, В0 или В5.
|
|
|
|
22.12.2011, 18:35
|
|
Частый гость
Регистрация: 05.12.2011
Сообщений: 16
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Отладочные платы для STM32
На B5 поставил.Возвращает One_Wire_Error_No_Low_Level.
|
|
|
|
22.12.2011, 19:06
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: Отладочные платы для STM32
bishop020, эта ошибка возникает если на линии нет подтяжки или она закорочена на землю. Проверяйте подключение. У датчика левая нога земля, средняя данные, правая питание. Подтяжка 4к7 нормально.
Кстати, компилируется без ошибок? У вас процедура инитиализации портов не задекларирована.
Последний раз редактировалось Easyrider83; 22.12.2011 в 19:17.
|
|
|
|
22.12.2011, 19:53
|
|
Частый гость
Регистрация: 05.12.2011
Сообщений: 16
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Отладочные платы для STM32
Задекларировал , но не помогло. Еще вот это выдает
Implicit declaration of function 'DS1822_Start_Conversion_Skip_Rom'
Подключение датчика проверил и перепаял на всякий случай.Опять же безрезультатно.
На расположение ножек снизу смотреть, я правильно понял?
|
|
|
|
22.12.2011, 20:05
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: Отладочные платы для STM32
Ну да, собственно, незадекларированные функции компилятор пропускает.
Вместо #include "1-wire.h" пишем #include "DS1822.h"
|
|
|
|
22.12.2011, 20:18
|
|
Частый гость
Регистрация: 05.12.2011
Сообщений: 16
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Отладочные платы для STM32
исправил на #include "DS1822.h".Он ругнулся на 1-wire, добавил #include "1-wire.h".Компилит норм, но все также tmp = 239. Может датчик не рабочий?
|
|
|
|
22.12.2011, 20:32
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: Отладочные платы для STM32
Перекачайте либы. Нет у меня такой ошибки в последней версии.
http://zalil.ru/32348067
|
|
|
|
22.12.2011, 20:46
|
|
Частый гость
Регистрация: 05.12.2011
Сообщений: 16
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Отладочные платы для STM32
tmp = 1,видимо эта ошибка One_Wire_Error_No_Echo. Как это разрешить?
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 15:20.
|
|