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

RabidRabbit

Свой
  • Постов

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

  • Посещение

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


  1. Ну если прочитать первое сообщение топика, то всё должно быть понятно :) Немного подправлю: 1. Принял пакет по UART1 - выплюнул пакет в UART2. 2. Принял пакет по UART2 - выплюнул пакет в UART1. 3. goto 1.
  2. В упомянутом мной документе имеются также примеры инициализации. А с разной скоростью проблем нет - по Вашему алгоритму приём/передача по UART1 не пересекаются во времени с приёмом/передачей по UART2. 1. Принял по UART1 - выплюнул в UART2. 2. Принял по UART2 - выплюнул в UART1. 3. goto 1. :bb-offtopic: Наверно, Вы хотели сказать "приемлимый"?
  3. По-моему, с таким алгоритмом и прерываний не требуется, достаточно опроса флагов состояния UART :) В документе RM0091 содержаться даже примеры по работе с UART, как настройка, так и передача/приём. www.st.com/resource/en/reference_manual/dm00031936.pdf
  4. Ну я не знаю, как Вам ещё объяснить. Вот, например, aaarrr очень доступно излагает: Здесь внимательно: TST должен быть замкнут до включения питания. Выждать лучше 15 сек, затем отключить питание и снять TST. Это самая проблемная часть процедуры. Последний раз применял такую процедуру, когда слетела прошивка в моём китайском JLink'е. Правда, я пользовался линуксовым вариантом SAM-BA, там никаких драйверов ставить не надо...
  5. Ваш Step2: Загрузка Boot-лодера во флеш память На 10 сек замыкается на +3В pin 40 TST. "Step2" из даташита: SAM-BA Boot recovery is performed when the TST pin and the PA0, PA1 and PA2 pins are all tied high for 10 seconds. Then, a power cycle of the board is mandatory. Разницу не видите? А она есть... :)
  6. У Атмела просто шикарный даташит на серию SAM7S. Читайте, там всё прекрасно расписано: 6. I/O Lines Considerations 6.2 Test Pin The TST pin is used for manufacturing test, fast programming mode or SAM-BA Boot Recovery of the SAM7S Series when asserted high. The TST pin integrates a permanent pull-down resistor of about 15 kΩ to GND, so that it can be left unconnected for normal operations. To enter fast programming mode, the TST pin and the PA0 and PA1 pins should be tied high and PA2 tied to low. To enter SAM-BA Boot Recovery, the TST pin and the PA0, PA1 and PA2 pins should be tied high for at least 10 seconds. Then a power cycle of the board is mandatory. Driving the TST pin at a high level while PA0 or PA1 is driven at 0 leads to unpredictable results. 6.4 ERASE Pin The ERASE pin is used to re-initialize the Flash content and some of its NVM bits. It integrates a permanent pull-down resistor of about 15 kΩ to GND, so that it can be left unconnected for normal operations. 8.8.4 Security Bit Feature It is important to note that the assertion of the ERASE pin should always be longer than 50 ms. As the ERASE pin integrates a permanent pull-down, it can be left unconnected during normal operation. However, it is safer to connect it directly to GND for the final application. 8.10 SAM-BA Boot Assistant The SAM-BA® Boot Recovery restores the SAM-BA Boot in the first two sectors of the on-chip Flash memory. The SAM-BA Boot recovery is performed when the TST pin and the PA0, PA1 and PA2 pins are all tied high for 10 seconds. Then, a power cycle of the board is mandatory. The SAM-BA Boot Assistant is a default Boot Program that provides an easy way to program in situ the on-chip Flash memory. The SAM-BA Boot Assistant supports serial communication through the DBGU or through the USB Device Port. (The SAM7S32/16 have no USB Device Port.) z Communication through the DBGU supports a wide range of crystals from 3 to 20 MHz via software autodetection. z Communication through the USB Device Port is limited to an 18.432 MHz crystal. ( The SAM-BA Boot provides an interface with SAM-BA Graphic User Interface (GUI).
  7. Interrupt Cortex M3

    Лично я думаю, что Cortex-M3 вовсе не обязан знать про TIM6 и прочую внешнюю хрень, навешанную разработчиком контроллера :) Про корректную обработку прерываний от внешнего (по отношению к CPU) оборудования читайте документацию от разработчика - STM, Atmel и т.д.
  8. Вы готовы дать на отсечение все выступающие части, что если нагрузить этот выход, к примеру, кусочком медного провода, ток в этом проводе превысит 6.3 мА ??? Конечно, лучше всего рассудит сервис-мануал на этот регистратор...
  9. по-моему, вам подойдёт твердотельное реле, навроде CPC1008N(нормально разомкнутый контакт)/CPC1117N(нормально замкнутый контакт), даже может без резистора - у них максимальный ток 50 мА
  10. посмотрите на http://www.atmel.com/Images/Atmel-2521-AVR...Note_AVR042.pdf правда, без математики... а 0.1 мкФ - КМК традиция такая...
  11. Добрый день! Мне требуется изготовление партии ПП и монтаж компонентов на них (платы в количестве 100 шт. заказывались ранее). Одна партия плат 300 шт. - так что я сам не справлюсь (тем более что партий до конца года может быть 7 или более). Размер одной платы небольшой, компоненты как для поверхностного монтажа (с двух сторон), так и выводные (с одной стороны - это две гребёнки контактов и двухвыводный клеммник). Интересует прикидка по стоимости, срокам и вообще, будет ли Резонит делать такую работу. Написал на [email protected] - послали в раздел сайта, где описаны требования к заказу монтажа. Но там два списка различных требований - для поверхностного и для выводного монтажа, причём для заказа выводного монтажа требуется "Исходный файл платы в формате PCAD" - у меня нет и не будет никакого PCAD. Подскажите, пожалуйста, с кем можно проконсультироваться по данному вопросу (кроме упомянутого раздела сайта)?
  12. www.klen.org/Files/DevTools/x86_64-kgp-linux-gnu/arm-kgp-eabi_@_x86_64-kgp-linux-gnu_20160329_MELISSA.7z тот же самый небольшой проект для Cortex-M0+ по сравнению с предыдущей сборкой: было (размер text): 115692, стало 115352. Хоть относительно общего размера изменения небольшие, на самом деле большую часть кода занимают константы - всяческая графика.
  13. Я Вас неправильно понял, подумал, что постоянно выставлен сигнал прерывания. В таком случае, я бы попробовал использовать автоматический режим, и придерживаться диаграммы со страницы 14 даташита.
  14. Вас не смущает вот это: If the INTE bit is set to 1, then the INTS status bit is asserted if the light intensity exceeds either upper or lower threshold limits (as specified by registers 0x05 and 0x06, respectively) for a period longer than that defined by the Threshold Timer register (0x07). This bit resets to 0 after the host reads this register. При том, что в Вашем коде: i2c_write(MAX44009_THRESH_TIMER_REG, 0x00); // Set ADDR: 0x07, VAL: [b7]...[b0] = 0000 0000, after RESET И при том, что в даташите: POWER-ON RESET STATE для регистра Threshold Timer = 0xFF И далее: The value in this register sets the time used to control this delay. A value of 0x00 in this register (with INTE bit = 1 in the Interrupt Enable register) configures the IC to assert the interrupt pin as soon as the light level exceeds either threshold. Time delay = (128xT7 + 64xT6 + 32xT5 + 16xT4 + 8xT3 + 4xT2 + 2xT1 + T0) x 100ms. По-моему, чип всё делает в соответствии с документацией :)
  15. по моему разумению .text - это вовсе не директива, а часть имени секции .text.Reset_Handler кстати, если набрать в поисковике GNU assembler manual - можно узнать много интересного :)
  16. Источник один - даташит. Вы его читали??? Table_16._Internal_Voltage_Reference_Characteristics Symbol_Parameter_____________________________Min__Typ__Max__Units V_BG___Bandgap_reference_voltage_____________1.15_1.23_1.35_V t_BG___Bandgap_reference_start-up_time____________40___70___μs I_BG___Bandgap_reference_current_consumption______10________μA
  17. Во-во. У меня все битмапы заранее повёрнуты по часовой стрелке на 90 градусов и отзеркалены относительно вертикальной оси :)
  18. Мой незначительный опыт по ili9341: не нужно менять количество столбцов/страниц, получите только отображение обрезанного портрета на лэндскейпе. Просто примите, что у Вас теперь сканирование дисплея идёт по колонкам, а не по строкам. А меняя направление сканирования как по колонкам, так и по строкам, Вы сможете развернуть экран так, как Вам удобно.
  19. www.klen.org/Files/DevTools/x86_64-kgp-linux-gnu/arm-kgp-eabi_@_x86_64-kgp-linux-gnu_20160228_DICHROMENA.7z небольшой проект для M0+ собирается. только в отличие от предыдущей сборки, при линковке попросил memmove, долил в исходники memmove - оно и собралось :) таргет дома, позже залью в него получившийся бинарник.
  20. xMega и WDT

    :bb-offtopic: Вспоминайте! :) Table 12-1. Reset and interrupt vectors in ATmega48. Vector no. Program address Source Interrupt definition 1 0x000 RESET External pin, power-on reset, brown-out reset and watchdog system reset 2 0x001 INT0 External interrupt request 0 3 0x002 INT1 External interrupt request 1 4 0x003 PCINT0 Pin change interrupt request 0 5 0x004 PCINT1 Pin change interrupt request 1 6 0x005 PCINT2 Pin change interrupt request 2 7 0x006 WDT Watchdog time-out interrupt
  21. ответ, как всегда, в даташите: PDIP Package: 1] The sum of all IOL, for all ports, should not exceed 200mA. 2] The sum of all IOL, for port A0 - A7, should not exceed 100mA. 3] The sum of all IOL, for ports B0 - B7,C0 - C7, D0 - D7 and XTAL2, should not exceed 100mA. TQFP and QFN/MLF Package: 1] The sum of all IOL, for all ports, should not exceed 400mA. 2] The sum of all IOL, for ports A0 - A7, should not exceed 100mA. 3] The sum of all IOL, for ports B0 - B4, should not exceed 100mA. 4] The sum of all IOL, for ports B3 - B7, XTAL2, D0 - D2, should not exceed 100mA. 5] The sum of all IOL, for ports D3 - D7, should not exceed 100mA. 6] The sum of all IOL, for ports C0 - C7, should not exceed 100mA.
  22. На выравнивание pdwVal смотрите. Возможно при O0 компилятор не старается сложить всё по выравненным адресам... Налетал так со встроенным memcpy на Cortex-M0+ (хотя у Вас вроде без плюса).
  23. (0 - меньше, 1 - больше, 2 - равно, 3 - логическое И, 4 - логическое ИЛИ, ....) максимально качествоенно разжевал, по-моему :)
×
×
  • Создать...