22.12.2011, 21:02
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: Отладочные платы для STM32
Сообщение от bishop020
|
tmp = 1,видимо эта ошибка One_Wire_Error_No_Echo. Как это разрешить?
|
А датчик-то жив?
Варианта два - либо не верно работает пауза, что мало вероятно. Либо ваш датчик не отвечает RESONSE на RESET. Домофон дома есть? Таблетку вместо датчика приложите. Питание не подключайте. Теоретически, что-то сработает.
|
|
|
|
22.12.2011, 21:21
|
|
Частый гость
Регистрация: 05.12.2011
Сообщений: 16
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Отладочные платы для STM32
С таблеткой выдало 2. =) Значит датчик умер?
|
|
|
|
23.12.2011, 00:02
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: Отладочные платы для STM32
Сообщение от bishop020
|
Значит датчик умер?
|
Будем говорить об этом, когда заработает с новым датчиком.
|
|
|
|
25.12.2011, 17:44
|
|
Частый гость
Регистрация: 05.12.2011
Сообщений: 16
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Отладочные платы для STM32
Хм..Припаял новый датчик, но все равно та же ошибка.
|
|
|
|
25.12.2011, 18:23
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: Отладочные платы для STM32
Остается только одно - проверять работу процедур delay_ms и delay_us.
Попробуйте так:
while(1)
{PIN_INV(One_Wire_Pin);delay_us(1000000);}
Ну и посмотритет тестером, пин должен переключаться раз в секунду.
Так сразу будет ясно:
Работает ли пин?
Верно ли работают паузы?
|
|
|
|
25.12.2011, 18:31
|
|
Заблокирован
Регистрация: 26.12.2009
Сообщений: 3,124
Сказал спасибо: 116
Сказали Спасибо 867 раз(а) в 614 сообщении(ях)
|
Re: Отладочные платы для STM32
Сообщение от bishop020
|
Припаял новый датчик, но все равно та же ошибка.
|
А запитать датчик не от 5-ти Вольт, а от 3,3 Вольта... не судьба???
|
|
|
|
25.12.2011, 18:38
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: Отладочные платы для STM32
Должно работать в обоих случаях.
|
|
|
|
25.12.2011, 20:40
|
|
Частый гость
Регистрация: 05.12.2011
Сообщений: 16
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Отладочные платы для STM32
Странно, время задержек не соответствует значению. При СPU_CLOCK 24000000 задержка вместо 1 сек - 3. При СPU_CLOCK 72000000 задержка - 9 сек.Поставил для теста СPU_CLOCK 8000000 задержка стала 1 сек. И теперь отвечает Device Busy.
В system_stm32f10x.c - SYSCLK_FREQ_24MHz 24000000
На всякий привожу код delay.c
Код:
|
#include "delays.h"
void delay_ms(unsigned long nTime)
{
nTime=(CPU_CLOCK/K_Const)*nTime;
while(nTime != 0)
{nTime--;}
}
void delay_us(unsigned long nTime)
{
nTime=((CPU_CLOCK/1000)/K_Const)*nTime;
while(nTime != 0)
{nTime--;}
} |
delays.h
Код:
|
#define CPU_CLOCK 8000000
#define K_Const 4000
void delay_ms(unsigned long nTime);
void delay_us(unsigned long nTime); |
|
|
|
|
25.12.2011, 20:50
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: Отладочные платы для STM32
А такой дефайн у вас прописан?
![](http://savepic.su/1052726m.png)
Иначе в system:
Код:
|
#if defined (STM32F10X_LD_VL) || (defined STM32F10X_MD_VL)
/* #define SYSCLK_FREQ_HSE HSE_Value */
#define SYSCLK_FREQ_24MHz 24000000
#else
/* #define SYSCLK_FREQ_HSE HSE_Value */
/* #define SYSCLK_FREQ_24MHz 24000000 */
/* #define SYSCLK_FREQ_36MHz 36000000 */
/* #define SYSCLK_FREQ_48MHz 48000000 */
/* #define SYSCLK_FREQ_56MHz 56000000 */
#define SYSCLK_FREQ_72MHz 72000000
#endif |
Будет частота HSE. Т.е. без PLL чисто 8МГц вашего кварца.
|
|
|
|
25.12.2011, 21:35
|
|
Частый гость
Регистрация: 05.12.2011
Сообщений: 16
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Отладочные платы для STM32
![](http://savepic.su/1065039m.png)
Я нашел только там похожее описание у себя в CooCox.
Код:
|
#if defined (STM32F10X_LD_VL) || (defined STM32F10X_MD_VL) || (defined STM32F10X_HD_VL)
/* #define SYSCLK_FREQ_HSE HSE_VALUE */
#define SYSCLK_FREQ_24MHz 24000000
#else
/* #define SYSCLK_FREQ_HSE HSE_VALUE */
/* #define SYSCLK_FREQ_24MHz 24000000 */
/* #define SYSCLK_FREQ_36MHz 36000000 */
/* #define SYSCLK_FREQ_48MHz 48000000 */
/* #define SYSCLK_FREQ_56MHz 56000000 */
#define SYSCLK_FREQ_72MHz 72000000
#endif |
Может мне стоит переделать всё в Keil'e ?
Последний раз редактировалось bishop020; 25.12.2011 в 21:38.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 07:27.
|
|