|
|
  |
74HC4094 в качестве расширителя порта, Кто-нибудь пробовал? |
|
|
|
Jun 11 2007, 04:23
|
Знающий
   
Группа: Свой
Сообщений: 589
Регистрация: 24-04-05
Пользователь №: 4 447

|
Цитата(rezident @ Jun 9 2007, 16:43)  Вот этот блок инициализации, включаемый компилятором в старт-ап, и "чистит" глобальные переменные, если явно не заданы значения для их инициализации. А как на счет того, если глобальная переменная назначена в регистре: __regvar __no_init unsigned char Flags@ 15; Ее надо инициализировать 0 в отдельной процедуре? Помнится, когда программировал на асме (AVR) были проблемы из-за того, что регистр не был проинициализирован после сброса. Хотя по идее регистровый файл находится в статическом ОЗУ, и должен быть инициализирован 0 по умолчанию. Так ведь? Хотя только что проверил. Если не инициализировать глобальную переменную в регистре, там будет мусор. Хотя такой вывод я сделал по неработоспособности программы, а не считав это значение каким-либо образом.
Сообщение отредактировал alux - Jun 11 2007, 04:36
|
|
|
|
|
Jun 11 2007, 17:56
|
Гуру
     
Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882

|
Несмотря на то, что в вашем примере переменная Flags глобальная, вы сами дали указание компилятору о том, что инициализировать ее не нужно. Указание это в виде команды для препроцессора __no_init. В IAR его можно записать еще и по-другому, как прагму. Код #pragma type_attribute=__no_init __regvar unsigned char Flags@ 15; И щё ж ви еще таки хотите?  Совершенно естественно компилятор вас "послушается" и заниматься инициализацией этой переменной не будет.
|
|
|
|
|
Jun 14 2007, 08:32
|
Местный
  
Группа: Свой
Сообщений: 392
Регистрация: 29-05-07
Из: Москва
Пользователь №: 28 020

|
Цитата(alux @ Jun 14 2007, 11:28)  to rezident. Я хочу вернуться к вопросу чрезмерного тепловыделения стабилизатором напряжения. Можно ли решить эту проблему заменой 7805 на LDO-стабилизатор. Есть pin-to-pin совместимые с 7805? И заменой трансформатора на пониженное напряжение (6...7В) ? В таком случае тепловыделение должно стать ниже. Еще все-таки рассмотрите вариант импульсного ИП. Еще как вариант можно поставить дешевый DC-DC преобразователь сразу после выпрямителя. Два последние варианты хороши тем, что тепловыделение будет ниже, а КПД высоким.
|
|
|
|
|
Jun 14 2007, 12:01
|
Гуру
     
Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882

|
Цитата(alux @ Jun 14 2007, 13:28)  to rezident. Я хочу вернуться к вопросу чрезмерного тепловыделения стабилизатором напряжения. Можно ли решить эту проблему заменой 7805 на LDO-стабилизатор. Есть pin-to-pin совместимые с 7805? И заменой трансформатора на пониженное напряжение (6...7В) ? Есть pin-to-pin совместимые с 7805, но импульсные. R-785.0-0.5 от RECOM, например. Только может имеет смысл готовый AC/DC модуль поставить? Есть у фирмы Meanwell недорогие готовые AC/DC модули на 5Вт, 10Вт, 15Вт и 20Вт для пайки на плату открытого ( серия NFM) и закрытого исполнения ( серия PM). Пятиваттный AC/DC модуль (58х45мм) на плате займет места столько же (или даже меньше) сколько трансформатор, диодный мост, электролит и стабилизатор. Посмотрите указанные спецификации. ИМХО эти модули должны понравиться
|
|
|
|
|
Jun 14 2007, 16:58
|
Знающий
   
Группа: Свой
Сообщений: 589
Регистрация: 24-04-05
Пользователь №: 4 447

|
Цитата(rezident @ Jun 14 2007, 15:01)  Только может имеет смысл готовый AC/DC модуль поставить? Есть у фирмы Meanwell недорогие готовые AC/DC модули на 5Вт, 10Вт, 15Вт и 20Вт для пайки на плату открытого ( серия NFM) и закрытого исполнения ( серия PM). Пятиваттный AC/DC модуль (58х45мм) на плате займет места столько же (или даже меньше) сколько трансформатор, диодный мост, электролит и стабилизатор. Посмотрите указанные спецификации. ИМХО эти модули должны понравиться  Конечно, в следующий раз поставлю AC/DC модуль Meanwell. По цене выйдет то же самое. Просто я уже начал делать на понижающем трансформаторе. Решил проблему так: Заменил трансформатор на выходное напряжение 7В. Электролит 4700 натягивает еще 1,5 В. На входе 7805 получается около +8,5 В. 7805 питает часть схемы (2 реле). Для питания остальной схемы использовал LDO LX8383A от "дохлой" материнки, которое питается от тех же +8,5В. Теперь все работает, зашибись!  Всем спасибо за ответы.
Сообщение отредактировал alux - Jun 14 2007, 17:03
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|