Перейти к содержанию
    

Fujitser

Свой
  • Постов

    287
  • Зарегистрирован

  • Посещение

Весь контент Fujitser


  1. Если я умею программировать, то я заработаю 110 тысяч и без всей этой схемотехники на 50 листов А3.
  2. Что-то всех бомбануло от пикада. Я вот года до 2010-2011 разводил в пикаде 2006, потом на альтиум пересел. И неплохо разводил, всё работало прекрасно. Важен не пикад или альтиум, важно умение. А любителям альтиума я могу сказать, что в серьёзных местах от него давно отказались, сейчас все сидят в кейденс аллегро.
  3. Расшифровка: Еду и шмотки холопы могут находить в помойном баке. Те, кто будут пахать по 16 часов без перерыва и выходных, смогут купить доширак с премии (по результатам проекта, не чаще раза в пять лет, только тем кто усердно гнёт спину перед начальством всех уровней).
  4. Уже выстроилась очередь высокооплачиваемых специалистов.
  5. Что такое шарп-процессор, можно ссылочку?
  6. Если сравнивать модули mt9v034 и OV5647, то получается, что OV5647 имеет 5 MP, а mt9v034 - 0,5 MP, при этом OV5647 стоит в два раза дешевле. Может быть, здесь есть какие-то другие преимущества mt9v034, которые оправдывают высокую цену?
  7. С чем связан настолько частый поиск разработчика на эту вакансию? Никто не держится, всех увольняют?
  8. Стесняюсь спросить, но зачем вам это?
  9. Извините за оффтоп, но разве это что-то плохое? Я бы отправил резюме в эту компанию, но тут, похоже, такие гуру, что процессоры от TI для них, это уровень доширака. Мне с такими не тягаться.
  10. Времена компьютеров на TTL-микросхемах как бы уже прошли.
  11. Спасибо, помогло! Кстати, прерывания таймера сбрасываются именно чтением из регистра TMRSEOI: alt_read_word(ALT_OSC1TMR1_TMRSEOI_ADDR); и TRM это подтверждает. Видимо, из-за этого и возникла путаница.
  12. Поможет, если выставить частоту gpio_db_clk: alt_clk_divider_set(ALT_CLK_GPIO_DB, 1 << 17);
  13. Спасибо, что заметили (где-то при экспериментах случайно вставил лишний нолик), но увы, дело не в этом. Всё равно не работает. Такое ощущение, что не сбрасывается статус прерывания в обработчике: alt_gpio_port_int_status_clear(ALT_GPIO_PORTC, 0x00200000); и прерывание вызывается снова и снова. При этом сама функция alt_gpio_port_int_status_clear возвращает 0, т.е. она отработала без ошибок. Какие-нибудь идеи ещё есть?
  14. Cyclone V baremetal прерывания

    Не могу сделать простой пример работы с прерываниями GPIO. Процессор Altera Cyclone V (ARM Cortex A9). Приложение bare-metal. К порту С подключены кнопки. Делаю прерывание по уровню, вроде бы работает, при нажатии на кнопку вызывается ISR, и вызывается непрерывно, пока кнопка нажата. Если я пытаюсь сделать прерывания по фронту, то после первого нажатия на кнопку ISR вызывается, и продолжает вызываться непрерывно после этого. Уже перепробовал все комбинации уровень/фронт и полярность. Ошибка явно в чём-то другом #include <stdio.h> #include <stdlib.h> #include <string.h> #include <stdbool.h> #include <inttypes.h> #include “alt_interrupt.h” #include “alt_timers.h” #include “alt_generalpurpose_io.h” volatile bool blink = false; /******************************************************************************/ /*! * ISR Callback * * \param icciar * \param context ISR context. * \return none */ static void gpio_isr_callback() { long mask = alt_gpio_port_int_status_get(ALT_GPIO_PORTC); // Clear interrupt source don't care about the return value long status = alt_gpio_port_int_status_clear(ALT_GPIO_PORTC, 0x00200000); mask = alt_gpio_port_int_status_get(ALT_GPIO_PORTC); alt_gpio_port_data_write(ALT_GPIO_PORTB, 0x0F000000, blink << 24); blink = !blink; } /******************************************************************************/ /*! * Main entry point * */ int main(void) { alt_gpio_init(); alt_gpio_port_datadir_set(ALT_GPIO_PORTB, 0x0F000000, 0x0F000000); // System init alt_gpt_all_tmr_init(); // Setup Interrupt alt_int_global_init(); // Initialize CPU interrupts alt_int_cpu_init(); // Set interrupt distributor target int cpu_target = 0x1; //CPU0 will handle the interrupts alt_int_dist_target_set(ALT_INT_INTERRUPT_GPIO2, cpu_target); // Set interrupt trigger type alt_int_dist_trigger_set(ALT_INT_INTERRUPT_GPIO2, ALT_INT_TRIGGER_EDGE); // Enable interrupt at the distributor level alt_int_dist_enable(ALT_INT_INTERRUPT_GPIO2); // Enable CPU interrupts alt_int_cpu_enable(); // Enable global interrupts alt_int_global_enable(); alt_gpio_port_datadir_set(ALT_GPIO_PORTC, 0x01e00000, 0x00000000); alt_gpio_port_debounce_set(ALT_GPIO_PORTC, 0x01e00000, 0x00200000); alt_gpio_port_int_type_set(ALT_GPIO_PORTC, 0x01e00000, 0x00200000); alt_gpio_port_int_pol_set(ALT_GPIO_PORTC, 0x01e00000, 0x00200000); // Register gpio ISR alt_int_isr_register(ALT_INT_INTERRUPT_GPIO2, gpio_isr_callback, NULL); alt_gpio_port_int_enable(ALT_GPIO_PORTC, 0x00200000); while(1); return 0; //unreachable }
  15. Почему-то все начали советовать топикстартеру, что ему нужно и что ему не нужно, хотя вопрос был не об этом, как я понимаю. ТС: читать Фихтенгольца совершенно не обязательно. Если вы хотите врубиться в силовую электронику, вам нужен матанализ в простейшем виде: производные, и самые простые дифуры, и уметь решать их самому необязательно, нужно только понимать общий смысл. То, что реально надо изучать: программы схемотехнического моделирования, типа LTSpice, в них можно экспериментировать без сборки устройства в железе, что очень удобно.
×
×
  • Создать...