Столько не живут…NebelWefer писал(а):а вот есть ли данные по чтению?
Мелкие вопросы по МК и ПЛИС.
- Сообщения: 3342
- Зарегистрирован: Ср янв 02, 2013 08:37:35
- Реклама
зачитать "до дыр" не получится...
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
- Сообщения: 20132
- Зарегистрирован: Чт сен 01, 2011 12:53:27
- Откуда: ТьмуТаракания. Почетный житель подмостовья
что записано в епром-не вырубать топором 
Шекспир сказал: Судить меня -дано лишь Богу, другим я укажу дорогу... https://natribu.org/
Я его полностью поддерживаю.
Программирую на Fuse AtmelAVR.
Я его полностью поддерживаю.
Программирую на Fuse AtmelAVR.
Всем привет!
Есть камень STM32F103 на китайской отладочной плате под DIP40.
Надо пикнуть писчалкой на частоте примерно 1кГц.
Что бы сгенерить звук буду инвертировать состояние вывода PB1 на котором сидит (через транзистор) зуммер.
Все это делаю в прерывании.
Настройка таймера на 1 кГц вот
Вопросы.
1. Почему начинает пищать когда TIM_Cmd(TIM4, ENABLE) не активная? Я так понимаю что таймер не должен считать, пока не врубим его, но он начинает работать после настройки прерываний. Звук чистый.
2. Если врубать таймер вызывая функцию TIM_Cmd(TIM4, ENABLE), то звук становится какой-то хрипящий, частота падает. Осциллографа нет под рукой. всё на слух (( Впечатление что прерываение обрабатывается по разным событиям. Почему так?
3. Отладчик (отладка через STLINK SWD) попадает в обработчик TIM4_IRQHandler только при первом проходе. Потом, почему-то, точка останова в обработчике прерывания игнорится. В обработчк от таймера 3 (юзаю еще один таймер, завел на тик в 1 сек.) попадает исправно и "фишка" с TIM_Cmd работает. Этот таймер мигает светодиодом раз в сек.
-------
Всё. Разобрался. Оказывается мне подсунули зуммер со встроенным генератором внутри. отсюда и путаница
Есть камень STM32F103 на китайской отладочной плате под DIP40.
Надо пикнуть писчалкой на частоте примерно 1кГц.
Что бы сгенерить звук буду инвертировать состояние вывода PB1 на котором сидит (через транзистор) зуммер.
Все это делаю в прерывании.
Код: Выделить всё
extern "C"{
void TIM4_IRQHandler(void)
{
if (TIM_GetITStatus(TIM4, TIM_IT_Update) == SET)
{
TIM_ClearITPendingBit(TIM4, TIM_IT_Update);
GPIOB->ODR^=GPIO_Pin_1;
}
}
}Код: Выделить всё
void tim4_config (void)
{
RCC_ClocksTypeDef RCC_Clocks;
RCC_GetClocksFreq(&RCC_Clocks);
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4, ENABLE);
TIM_TimeBaseInitTypeDef TIM_InitStructure;
TIM_TimeBaseStructInit(&TIM_InitStructure);
TIM_InitStructure.TIM_Prescaler = (RCC_Clocks.HCLK_Frequency/1000000 - 1);
TIM_InitStructure.TIM_Period = 1000;
TIM_TimeBaseInit(TIM4, &TIM_InitStructure);
//TIM_Cmd(TIM4, ENABLE);
NVIC_EnableIRQ(TIM4_IRQn);
TIM_ITConfig(TIM4, TIM_IT_Update, ENABLE);
}
1. Почему начинает пищать когда TIM_Cmd(TIM4, ENABLE) не активная? Я так понимаю что таймер не должен считать, пока не врубим его, но он начинает работать после настройки прерываний. Звук чистый.
2. Если врубать таймер вызывая функцию TIM_Cmd(TIM4, ENABLE), то звук становится какой-то хрипящий, частота падает. Осциллографа нет под рукой. всё на слух (( Впечатление что прерываение обрабатывается по разным событиям. Почему так?
3. Отладчик (отладка через STLINK SWD) попадает в обработчик TIM4_IRQHandler только при первом проходе. Потом, почему-то, точка останова в обработчике прерывания игнорится. В обработчк от таймера 3 (юзаю еще один таймер, завел на тик в 1 сек.) попадает исправно и "фишка" с TIM_Cmd работает. Этот таймер мигает светодиодом раз в сек.
-------
Всё. Разобрался. Оказывается мне подсунули зуммер со встроенным генератором внутри. отсюда и путаница
Теория — это когда все известно, но ничего не работает. Практика — это когда все работает, но никто не знает почему. Мы же объединяем теорию и практику: ничего не работает… и никто не знает почему!
© Альберт Эйнштейн
© Альберт Эйнштейн
Всем здрасьте. Помогите найти даташит на микросхему AB1520CG1F15.1-83EM. Эта микросхема стоит в китайском плеере. Хочу поглядеть даташит на предмет наличия незадействованных в плеере функций. Вдруг, там есть, скажем, режим рандомного воспроизведения аудио или что нибудь еще.
- Реклама
- Сообщения: 5
- Зарегистрирован: Сб мар 04, 2017 20:15:21
Помогите понять, где ошибка. Altera Max Plus 2 выдает "Process clocking is too complex". На иностранных сайтах на похожий вопрос был дан ответ - что-то с if-else конструкциями, но непонятно, как исправить.
Код: Выделить всё
LIBRARY ieee;
USE ieee.std_logic_1164.all;
ENTITY shift_reg IS
PORT
(clk : IN STD_LOGIC ;
data : IN STD_LOGIC ;
reset : IN STD_LOGIC ;
q : OUT STD_LOGIC
);
END shift_reg;
ARCHITECTURE behav OF shift_reg IS
SIGNAL rs: STD_LOGIC_VECTOR (3 downto 0) ;
SIGNAL rscopy: STD_LOGIC_VECTOR (3 downto 0);
BEGIN
process (clk, reset) begin
if (reset = '0') then
rs <= "0000";
else
if (clk'event and clk='1') then rscopy<=rs; end if;
if (clk'event and clk='0') then rs <= data & rscopy(3 downto 1); end if;
end if;
end process;
q <= rs(0);
END behav; Если еще актуально...
Может, махплюс не может распарсить два отдельных ивента. Попробуйте так
А ваше "железо" имеет фичу dual edge? А то смоделировать, может и удастся, а вот синтезировать - может быть облом.
в ISE я делал двумя процессами:
Может, махплюс не может распарсить два отдельных ивента. Попробуйте так
Код: Выделить всё
if (clk'event) then
if (clk='0') then....
else....
end if
end ifв ISE я делал двумя процессами:
Код: Выделить всё
process (scl)
begin
if scl'event and scl='0' then
shift_reg <= shift_reg (shift_size-2 downto 0) & sda;
end if;
end process;
process (scl)
begin
if scl'event and scl='1' then
if sda = '1' then
latch_reg <= shift_reg;
end if;
end if;
end process; А люди посмотрят и скажут: "Собаки летят. Вот и осень."
День добрый! Есть устройство на ATmega162 которое врем от времени зависает при подаче питания. Питается контроллер от 7805, тактируется от кварца, reset - подтянут, фьюзы - старт с нулевой задержкой. В приложении переходной процесс на ногах контроллера.
- Вложения
-
- Задержка.jpg
- (90.36 КБ) 346 скачиваний
.....
Попробуйте увеличить задержку.Евгений33 писал(а):фьюзы - старт с нулевой задержкой
Этот пост оказался полезен? Не поленись, нажми
слева!

Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
слева!Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
Собственно схема с низким (относительно параметров источника питания) энергопотреблением.
При повторном включении из-за "недоразряженности" электролитов и прочих паразитно-переходных процессов получаем неопределенность для цепей запуска МК.
Лечение применением схем BOD, WDT, внешним монитором питания и их комбинаций.
Да и задержку запуска при внешнем кварце лучше увеличивать, а не уменьшать.
(Заодно проверить параметры генератора в отношении размаха сигнала на выводах - может понадобится максимальный).
Ну и последнее (или первое) - некорректная программа устройства.

При повторном включении из-за "недоразряженности" электролитов и прочих паразитно-переходных процессов получаем неопределенность для цепей запуска МК.
Лечение применением схем BOD, WDT, внешним монитором питания и их комбинаций.
Да и задержку запуска при внешнем кварце лучше увеличивать, а не уменьшать.
(Заодно проверить параметры генератора в отношении размаха сигнала на выводах - может понадобится максимальный).
Ну и последнее (или первое) - некорректная программа устройства.
Ввел задержку по старту 65 мс и настроил внутренний BOD на 4,3 В, вроде все нормально.
.....
Народ поможите, уже не знаю куда копать. Ситуация- ds1307 + avr 8515 . Тупо часы. Ds 1307 не запускается от кварца. От внешнего генератора 32768- на ура , а вот от кварца -никак. Всё по даташиту. менял 5 кварцев, 2 микросхемы, думал про питание- от батареек тоже никак. В протеусе всё работает
https://datasheets.maximintegrated.com/en/ds/DS1307.pdfThe internal oscillator circuitry is designed for operation with a crystal having a specified load capacitance (CL) of 12.5pF.
Страница 6.
Не всякий резонатор сюда подойдет.
[uquote="Baasil",url="/forum/viewtopic.php?p=3096068#p3096068"]
Страница 6.
Не всякий резонатор сюда подойдет.[/uquote]
Как бы ещё узнать нужный....
https://datasheets.maximintegrated.com/en/ds/DS1307.pdfThe internal oscillator circuitry is designed for operation with a crystal having a specified load capacitance (CL) of 12.5pF.
Страница 6.
Не всякий резонатор сюда подойдет.[/uquote]
Как бы ещё узнать нужный....
- Сообщения: 3342
- Зарегистрирован: Ср янв 02, 2013 08:37:35
[uquote="Hot",url="/forum/viewtopic.php?p=3096072#p3096072"]нужный....[/uquote]
Эти ставил работает нормуль! http://chip-nn.ru/find.php?f=32.768+%CA%C3%F6%2C+KX-38T
Эти ставил работает нормуль! http://chip-nn.ru/find.php?f=32.768+%CA%C3%F6%2C+KX-38T
- Сообщения: 8
- Зарегистрирован: Пн апр 10, 2017 20:04:05
Доброго времени суток уважаемые форумчане! Есть акустика 2.1 хотелось бы сделать для нее проводной пульт с цифровой регулировкой громкости и басов, данная акс уже имеет проводной пульт с двумя переменными резисторами (резисторы моно). Вот хочется их заменить на кнопки, да и с индикацией 8 светодиодов. Есть у меня тинька 2313 вот хотелось бы на ней это дело собрать. Подскажите как это лучше реализовать. Да к стати в программировании мк я новичок.
Решение " в лоб" : переменные сопротивления заменить на перемножающие ц.а.п. ,управляемые м.к.
Но ведь есть и готовые решения, хотя чуток дороже.
Но ведь есть и готовые решения, хотя чуток дороже.
< виртуальная "кнопочка" >--( WWW ) <- Убедительная просьба интересующимся старыми компьютерами типа РК86 - не пишите в теме в барахолке, пишите Ваши вопросы в ( лс ) пожалуйста
- Сообщения: 8
- Зарегистрирован: Пн апр 10, 2017 20:04:05
[uquote="petrenko",url="/forum/viewtopic.php?p=3096835#p3096835"]Решение " в лоб" : переменные сопротивления заменить на перемножающие ц.а.п. ,управляемые м.к.
Но ведь есть и готовые решения, хотя чуток дороже.[/uquote]
Про мк я читал достаточно много, и то что переменные сопротивления можно заменить я знаю, только как это реализовать? Вот здесь мои знания расплываются. Так примерная картина есть но очень слабая. А именно какую и куда подавать команду?
Но ведь есть и готовые решения, хотя чуток дороже.[/uquote]
Про мк я читал достаточно много, и то что переменные сопротивления можно заменить я знаю, только как это реализовать? Вот здесь мои знания расплываются. Так примерная картина есть но очень слабая. А именно какую и куда подавать команду?


