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

homeniuk

Members
  • Постов

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

  • Посещение

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

  1. Какие цены нынче на 1дм2 и по чем сверление ?
  2. homeniuk

    STM32 HAL IRQHandler

    0 Error(s), 0 Warning(s). Спасибо! Для меня это была больная тема, все .h писал раньше
  3. homeniuk

    STM32 HAL IRQHandler

    Я сделал #ifndef EXTFILE_H #define EXTFILE_H #endif Ща опробую еще способы
  4. homeniuk

    STM32 HAL IRQHandler

    Раскидал код по .h .c файлам - переменные в 1.h, обьявление функций в 2.h и оба закинул в all.h - и его подключаю в main.c и function.c В main.c вызваю функцию из function.c , собираю прогу но пишет что multiply defined (by function.o and main.o). Я переделал переменные на extern и новая ошибка M_2_c\M_2_c.axf: Error: L6218E: Undefined symbol B_off (referred from function.o). Сделал extern volatile ничего не поменялось. Можете подсказать че за ошибка?
  5. homeniuk

    STM32 HAL IRQHandler

    А в каком месте объявить глобальую переменную и присвоить значение, или лучше присваивать через функцию.
  6. homeniuk

    STM32 HAL IRQHandler

    Я взял EEPROM Atmel AT24C256C-SSHL-T и от ST 24C32N - первая 2 из 10 сработала (чего то цена на нее дешевая) а вот от ST работала каждый раз на F103
  7. homeniuk

    STM32 HAL IRQHandler

    1. Запуск SPI легко, но не умею к переменным обратиться сейчас перепишу на .h external а там видно будет 2. А на F4 I2C тоже глючной? Хочу хранить информацию в EEPROM (I2C) или мож взять EEPROM (SPI) ?
  8. homeniuk

    STM32 HAL IRQHandler

    На STM32F103, нужно по таймеру пустить внешнее АЦП и изменить пару переменных А вот для DMA хочу прием передача по I2C и про приему запускать функцию обработки
  9. homeniuk

    STM32 HAL IRQHandler

    Спасибо.Сейчас попробую.
  10. homeniuk

    STM32 HAL IRQHandler

    Добрый день! Пишу свой код в файлах .h и подключаю их в main.c все норм, включаю в main.c CallBack для SPI - прерывание работает и обрабатывается Но если хочу обаратывать прерывания от таймера, то TIM2_IRQHandler находится в другом файле и там моих функций и переменных не видно Помогите разобраться, бо в интернете примеры на уровне TooglePIn Мне нужно для таймера и для DMA
  11. homeniuk

    Keil глючит

    Спасибо! Нашел - вызывал функцию еще до инициализации UARTа, в первом же блоке /* USER CODE BEGIN 0 */
  12. homeniuk

    Keil глючит

    Там выше только объявление структуры Юарта, все сгенерировано в Кубе с разрешением прерываний, посмотрю еще раз но врятли код
  13. homeniuk

    Keil глючит

    Всем привет. Программирую на STM32F103 на Keil, и не могу откомпилировать следующий код на картинке, сразу подписывает ошибку. И перезагружал все, и другие варианты пробовал типа ссылка указатель но не идет, названия переменных правильные, мож с Кейлом что, никто не встречался с подобным?
  14. Спасибо всем! Проблема была в маленьком L1 - перепутал 1u и 1m ) L2 так и остался 1u, работает.
  15. Добрый день. Собрал схему 220 на 12 В на базе LNK304 согласно схемы. Меряю выходное напряжение мультиметром - оно пригает 1,75...2,45...3,25 В вместо 12 В Правда кренка 5В вхолостую стоит. Что может быть ? Схема с интернета - такая же и в даташите.
  16. Однако потребление от батареии 20мА, меряю сопротивление 1МОм в одну сторону и обрыв в другую - видимо часы сгорели
  17. Почему не пользоваться модулем TWI в контроллере - они что глючные ?
  18. Чем эти плохие ? Хотелось бы чтоб работало без запретов прерываний
  19. homeniuk

    DS1307 не читает

    Здравствуйте, не могу прочитать информацию с часов DS1307ZN, все распаяно правильно - резисторы, кварц, батарея При считывании зависает в цикле, мерял мультиметром - SDA - 5 В, SCL - 0 В. При записи программа не зависает, в Proteus работает все. Тактируюсь от внутреннего RC 8MHz, TWBR = 64 и TWBR = 32 пробовал //ЧТЕНИЕ /*формируем состояние СТАРТ*/ TWCR = (1<<TWINT)|(1<<TWSTA)|(1<<TWEN); while(!(TWCR & (1<<TWINT))); /*выдаемна шину пакет SLA-R*/ TWDR = 0b11010001; //Чтение TWCR = (1<<TWINT)|(1<<TWEN); while(!(TWCR & (1<<TWINT))); /*считываем данные с подтверждением*/ TWCR = (1<<TWINT)|(1<<TWEA)|(1<<TWEN); while(!(TWCR & (1<<TWINT))); ЗАВИСАЕТ b0 = TWDR; Записываю согласно коду //Запись /*формируем состояние СТАРТ*/ TWCR = (1<<TWINT)|(1<<TWSTA)|(1<<TWEN); while(!(TWCR & (1<<TWINT))); /*выдаемна шину пакет SLA-R*/ TWDR = 0b11010000; //Запись TWCR = (1<<TWINT)|(1<<TWEN); while(!(TWCR & (1<<TWINT))); //передаем адрес регистра TWDR = 0; //Передаем адрес с которого начнем запись TWCR = (1<<TWINT)|(1<<TWEN); while(!(TWCR & (1<<TWINT))); //передаем данные TWDR = 0; //Передаем данные TWCR = (1<<TWINT)|(1<<TWEN); while(!(TWCR & (1<<TWINT))); //формируем состояние СТОП TWCR = (1<<TWINT)|(1<<TWSTO)|(1<<TWEN);
  20. Привет всем! Спаял внешний АЦП 16бит ADS8321EB/250 к ATmega64A через SPI Но он присылает какой то мусор, замкнул In+ на 4,096В - все равно мусор но значение среднее выросло , не может же он во всех разрядах врать. Провода от АЦП к ATmega64A из витой пары длиной 10 см и всунуты в разъем PLS - не шатаются. Что может быть? (Он необычно меряет - относительно средней точки 2,048, а не от 0.) DDRB = 0b11110111; PORTB = 0b00000001; SPCR = (1<<SPIE) | (1<<SPE) | (1<<MSTR) | (0<<CPOL) | (0<<CPHA) | (1<<SPR1) | (0<<SPR0); ..... через 0.001 c PORTB = 0b00000000; SPDR = 0b00000000; ..... ISR(SPI_STC_vect){ ACP[N] = SPDR; N++; }; Схема как спаял и по 4 байта что он присылает при 1 В на входе - нужные правда первые 3 байта.
  21. Необходимо перейти с сигнала 220В на 5В (3,3В) с гальванической развязкой. При этом нужно чтобы срабатывало при 150В и выше. Просто влепить оптопару с резистором а на вторичке замыкать на землю не пойдет ведь? Оптопары вроде сильно рано открываются. Есть фото схемы но не могу разобраться (если это полная схема мож где то продолжение на 2й плате ) Фото спереди и сзади
×
×
  • Создать...