24.09.2012, 11:52
|
#391
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: FAQ по STM8
Сообщение от tempora
|
Ясно, спасибо. Надо будет еще калибровку осилить... хотя, 12,5 процентов не так уж и много, может "нуивонафик" сделаю, вместо калибровки.
|
А библиотеками STM8S_StdPeriph_Driver вы брезгуете?
Код:
|
AWU_LSICalibrationConfig(128000); |
|
|
|
|
24.09.2012, 12:33
|
#392
|
Почётный гражданин KAZUS.RU
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
|
Re: FAQ по STM8
Нет, конечно, тут религиозный фанатизм неуместен ( должен же он хоть где-то отсутствовать? ![Рот до ушей](images/smilies/icon_doushei.gif) ), просто, надо для начала всё самому попробовать, чтобы понять, что как устроено. Потом можно и либы использовать, да...
Впрочем, некоторые параноидальные выверты я действительно не готов повторять... ![Рот до ушей](images/smilies/icon_doushei.gif)
К примеру такие:
Код:
|
void AWU_Init(AWU_Timebase_TypeDef AWU_TimeBase)
{
/* Check parameter */
assert_param(IS_AWU_TIMEBASE(AWU_TimeBase));
/* Enable the AWU peripheral */
AWU-›CSR |= AWU_CSR_AWUEN;
/* Set the TimeBase */
AWU-›TBR &= (uint8_t)(~AWU_TBR_AWUTB);
AWU-›TBR |= TBR_Array[(uint8_t)AWU_TimeBase];
/* Set the APR divider */
AWU-›APR &= (uint8_t)(~AWU_APR_APR);
AWU-›APR |= APR_Array[(uint8_t)AWU_TimeBase];
} |
Да и массивы TBR_Array, APR_Array держать " всегда под рукой" не вижу смысла. В общем, там посмотрим.
__________________
There's always more than one way to skin a cat.
|
|
|
|
24.09.2012, 12:41
|
#393
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: FAQ по STM8
на счет assert_param
Я их всех загнал в условную компиляцию.
Код:
|
#ifdef assert_enable
/* Check parameter */
assert_param(IS_AWU_TIMEBASE_OK(AWU_TimeBase));
#endif |
Если прописан локальный дефайн, они включаются.
|
|
|
|
24.09.2012, 12:57
|
#394
|
Почётный гражданин KAZUS.RU
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
|
Re: FAQ по STM8
Да, можно, конечно и так, однако, в таких случаях это мне не нужно вовсе, так как я не использую числовые константы - предпочитаю такие вещи дефайнить понятными именами. Эта проверка имела бы смысл при динамическом определении тайм-базы алгоритмом, который не в состоянии выбрать значение из множества правильных. Но это не мой случай.
Пока у меня от этой либы складывается впечатление, как от школьного сочинения, когда кровь из носу надо написать " 4-5 листов", а писать как-то и нечего... Ну, типа, нас подталкивают к возможно более раннему исчерпанию 32К. ![Рот до ушей](images/smilies/icon_doushei.gif)
Ну, вот, скажем, нафига, перед записью четырех бит, их очищать?*) Я пока не нашёл объяснения...
Это лишь самые первые впечатления - я ещё даже не понял, как их доки разложены ( чёрт ногу сломит, нмвз) - но впечатления эти именно таковы. ![Рот до ушей](images/smilies/icon_doushei.gif)
___________________________________
*) Что-то типа " US DoD 5220.22-M" ?
__________________
There's always more than one way to skin a cat.
Последний раз редактировалось tempora; 24.09.2012 в 13:29.
|
|
|
|
24.09.2012, 13:28
|
#395
|
Почётный гражданин KAZUS.RU
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
|
Re: FAQ по STM8
Сообщение от Easyrider83
|
на счет assert_param
Я их всех загнал в условную компиляцию.
Код:
|
#ifdef assert_enable
/* Check parameter */
assert_param(IS_AWU_TIMEBASE_OK(AWU_TimeBase));
#endif |
Если прописан локальный дефайн, они включаются.
|
А я в STM8S_conf.h закомментарил строку
Код:
|
//#define USE_FULL_ASSERT (1) |
и все, что ниже отвалилось само... ![Улыбка](images/smilies/icon_smile.gif)
Наверное, это предусматривалось индусами.
__________________
С уважением,
Vic / ut1wpr
|
|
|
|
24.09.2012, 13:33
|
#396
|
Почётный гражданин KAZUS.RU
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
|
Re: FAQ по STM8
Сообщение от ut1wpr
|
А я в STM8S_conf.h закомментарил строку //#define USE_FULL_ASSERT (1)
|
Так она ж, вроде, изначально закомментирвана ...?
__________________
There's always more than one way to skin a cat.
|
|
|
|
24.09.2012, 13:48
|
#397
|
Почётный гражданин KAZUS.RU
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
|
Re: FAQ по STM8
Сообщение от tempora
|
Так она ж, вроде, изначально закомментирвана ...?
|
А и не помню! ![Улыбка](images/smilies/icon_smile.gif) Но факт, что в отсутствии этого дефайна никаких асертов не фулится... ![Улыбка](images/smilies/icon_smile.gif) Там большой блок доступа к фул-асерт ифом-эндифом охвачен.
__________________
С уважением,
Vic / ut1wpr
|
|
|
|
24.09.2012, 14:03
|
#398
|
Почётный гражданин KAZUS.RU
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
|
Re: FAQ по STM8
Да, я это заметил. Пока, правда, по диагонали, но хоть знаю, что оно есть и где его смотреть, если что.
__________________
There's always more than one way to skin a cat.
|
|
|
|
24.09.2012, 19:38
|
#399
|
Гражданин KAZUS.RU
Регистрация: 13.06.2005
Адрес: РК г.Павлодар
Сообщений: 866
Сказал спасибо: 99
Сказали Спасибо 216 раз(а) в 140 сообщении(ях)
|
Re: FAQ по STM8
Сообщение от tempora
|
Пока у меня от этой либы складывается впечатление, как от школьного сочинения, когда кровь из носу надо написать "4-5 листов", а писать как-то и нечего... Ну, типа, нас подталкивают к возможно более раннему исчерпанию 32К. ![Рот до ушей](images/smilies/icon_doushei.gif)
Ну, вот, скажем, нафига, перед записью четырех бит, их очищать?*) Я пока не нашёл объяснения...
|
+100500
У меня тоже от этих либ изжога.
__________________
Не ошибается лишь тот, кто ни чего не делает!
|
|
|
|
24.09.2012, 21:11
|
#400
|
Заблокирован
Регистрация: 27.03.2007
Сообщений: 1,328
Сказал спасибо: 12
Сказали Спасибо 576 раз(а) в 460 сообщении(ях)
|
Re: FAQ по STM8
Сообщение от tempora
|
Ну, вот, скажем, нафига, перед записью четырех бит, их очищать?*) Я пока не нашёл объяснения...
|
Есть простое объяснение. Дело в том, что старшие 4 бита регистра AWUTB зарезервированы, и по правилам хорошего тона туда не надо ничего писать. Вот поэтому младшие 4 бита сначала очищаются, а потом с помощью операции OR устанавливатся нужное состояние. При этом состояние зарезервированных старших битов не изменяется.
То же самое и для регистра AWU_APR ...
Последний раз редактировалось Yurkin2007; 24.09.2012 в 21:14.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 08:39.
|
|