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

adnega

Свой
  • Постов

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

  • Посещение

  • Победитель дней

    3

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


  1. Кварц на 16МГц (для снятия вопроса по CKOPT). Вопросов по сути два: 1. Конденсаторы ставят для того, чтобы не было генерации на высших гармониках? Я допускаю, что генератор может запуститься на, скажем, 32МГц... Ядро вряд ли заработает, но и не факт, что генератор сможет работать на этой частоте. 2. Конденсаторы нужны для подавления помех? Для чего-то еще? Намекните, пожалуйста, чего стоит подумать/почитать.
  2. Добрый день! Столкнулся с проблемой: чип-конденсаторы, которые рекомендуют ставить к кварцу подключены к "грязной" земле - помеха ловиться идеально. Я хочу их просто исключить из схемы. Какие проблемы могу поиметь в будущем? (крайне интересно)
  3. ШИМ

    18-канальный ШИМ на Мега8 (18.432МГц) для управлениея 6-тью полноцветными светодиодами T0_OVF: push temp in temp,SREG push temp clc ror rd ror rd cp cval,rR5 //PD2 ror rd cp cval,rB4 //PD3 ror rd cp cval,rG4 //PD4 ror rd cp cval,rR4 //PD5 ror rd cp cval,rB3 //PD6 ror rd cp cval,rG3 //PD7 ror rd cp cval,rR3 //PB0 ror rb cp cval,rB2 //PB1 ror rb cp cval,rB6 //PB2 ror rb cp cval,rG2 //PB3 ror rb cp cval,rG6 //PB4 ror rb cp cval,rR2 //PB5 ror rb clc ror rb ror rb cp cval,rR6 //PC0 ror rc cp cval,rB1 //PC1 ror rc cp cval,rB5 //PC2 ror rc cp cval,rG1 //PC3 ror rc cp cval,rG5 //PC4 ror rc cp cval,rR1 //PC5 ror rc clc ror rc ror rc com rb com rc com rd out PORTB,rb out PORTC,rc out PORTD,rd inc cval andi cval,0x7F ; 127 - уровней, мона убрать - станет 8-бит pop temp out SREG,temp pop temp reti Инициализация таймера: // Настройка таймера T0 clr temp out TCNT0,temp ldi temp,(1<<PSR10) out SFIOR,temp ldi temp,0x01 out TCCR0,temp ldi temp,(1<<TOIE0) out TIMSK,temp Объявление переменных: // Константы .equ F_CPU = 18432000 .equ USART_SPEED = 19200 // Определения .def rR1 = r1 .def rG1 = r2 .def rB1 = r3 .def rR2 = r4 .def rG2 = r5 .def rB2 = r6 .def rR3 = r7 .def rG3 = r8 .def rB3 = r9 .def rR4 = r10 .def rG4 = r11 .def rB4 = r12 .def rR5 = r13 .def rG5 = r14 .def rB5 = r15 .def rR6 = r16 .def rG6 = r17 .def rB6 = r18 .def temp = r19 .def rb = r20 .def rc = r21 .def rd = r22 .def buf = r23 .def cval = r24
  4. Доброго дня! Мне вот очень интересно применение кольцевых буферов для реализации консоли. Со временем "написались" некоторые участки кода, которые позволяют в общем виде сделать реакцию на команды. Юзаю повсеместно. Хотелось бы услышать отзывы и предложения по данной проблеме. :-) command.rar
  5. Спасибо за советы! :-) И за библиотеки спасибо, правда, свои уже наработал ;-) Хотелось бы иметь файлики от производителя, но увы... :-( А по поводу названий - конечно же, беру из даташитоф, но имена получаются длинющие, например, для pin connect block. И еще момент, практически забил все определения для LPC2148, а теперь появилась LPC2378...
  6. Если их в природе нет, то все понятно :-( - забью свои. Только, понимаете, во-первых, не хочу разойтись с "внешним миром". А во-вторых, под новый камень переписать файлик, ну... мягко скажу, нелегко! И самый сложный момент придумать уникальное имя!
  7. Заголовочные файлы для Keil

    Добрый день! Два исходника из примеров, идущих с Keil: 1. Для AT #include <91M40800.H> /* AT91M40800 definitions */ #define CR 0x0D void init_serial (void) { /* Initialize Serial Interface */ PIO_PDR = (1<<PIORXD0) | (1<<PIOTXD0); /* Enable RXD0 and TXD0 */ US0_MR = US_CHRL_8 | US_PAR_NO; /* 8 bits, no Parity, 1 Stop bit */ US0_BRGR = 260; /* 9600 Baud Rate @ 40 MHz Clock */ US0_CR = US_RXEN | US_TXEN; /* Enable RX and TX */ } 2. Для LPC #include <LPC21xx.H> /* LPC21xx definitions */ #define CR 0x0D oid init_serial (void) { /* Initialize Serial Interface */ PINSEL0 = 0x00050000; /* Enable RxD1 and TxD1 */ U1LCR = 0x83; /* 8 bits, no Parity, 1 Stop bit */ U1DLL = 97; /* 9600 Baud Rate @ 15MHz VPB Clock */ U1LCR = 0x03; /* DLAB = 0 */ } Как избавиться от "нелепых" констант? 1. Можно забить свой заголовочник для каждого чипа. 2. Для инициализации "железа" можно воспользоваться Conf Wizard`ом, а как быть в обработчиках прерываний. Что посоветуете?
  8. Где купить?

    Заказывал в www.chipinfo.ru последний раз: 50 шт atmega8-16au по 13 рублей за штуку! :)
  9. Во время записи: - оператор начинает сеанс записи; - последовательно добавляет 1000 ключей в несортированный массив; - заканчивает сеанс записи, что приводит к сортировке массива. Во время чтения: - таблеточный протокол последовательный, поэтому с приходом нового бита мона уже начинать поиск, а не ждать когда все биту зальюца... Вот. ;)
  10. Исходники функций для работы с UART с буферизацией по приему и передаче. Правда, на асме ;) На С есть дома... и для ARM. Но идею понять можно... Могу заслать, если надо. uart.rar
  11. Два резистора последовательно, одним краем на +5, другим на -12 (вход), в месте соединения мерить напряжение, правда не весь диапазон АЦП задействуешь. Можно применять, где не нужна большая точность. А еще можно посчитать уравнение для этой схемы. найти R1 и R2 если 1. при in=0, out=2.56 2. при in=-12, out=0 in - вход от -12..0; out - точка соединения резисторов. Хотя надо схему усложнить: три резистора спаять в одной точке (выход, подаем на вход АЦП), одним краем на +5, вторым на землю, третий вход. Нужно знать диапазон входных напряжений: хоть от -100 до +100. Единственное надо помнить, что весь диапазон разобьется на 1024 уровня.
  12. Замена IAR'а

    Всем привет! Скачал сегодня свежую версию Keil uVision (v3.51). Раньше стояла версия 3.10. Обе без лицензии. В новой версии заметил, что помимо стандартных ограничений нельзя указать/изменить Опции для проекта :( . Поможите?
  13. То, что надо!!! Спасибо! Пишу в uVision3
  14. Спасибо! Такой файл у меня есть. Нужен с описаниями регистров и битов (<iolpc2101.h>, <iolpc2148.h>). В примерах они часто фигурируют.
  15. Заголовочные файлы

    Друзья! Подарите пожалуйста заголовочные файлы к LPC2101, LPC2148. Сам бы написал, но хочется придерживаться общепринятых стандартов.
  16. Статический массив

    Почему const BUF_SIZE = 100; unsigned char buf[bUF_SIZE]; выдает ошибку компиляции с109 illegal constant expression. const BUF_SIZE = 100; unsigned char buf[100]; - все ок. :05: ? (uVision3 v3.10b, C Compiler CA.EXE v2.00f)
  17. Выдержки кода test_selfprog.zip
  18. - питание стандартно; - i2c флешка (at24c256) к соответствующим ногам SCL(28), SDA(27); - динамик к OC2(17-dip/15-tqfp); - включается по RESET(1-dip/29-tqfp).
  19. Собрано на Меге8 и i2c флешке 32кБ. (дверной звонок) test_pwm_0.zip
  20. ASM или C?

    Всем спасибо за ответы/советы. Что ж возьмусь за изучение C... Изучать лучше на примерах или есть учебник какой? Дело в том, что опыт C++ есть громадный, меня волнует специфика C под АРМ, чтобы сразу начать писать "в духе" АРМ.
  21. ASM или C?

    Очевидно. За этим языки высокого уровня и создавались. Почему в моем случае можно сделать исключение, потому что я программирую для задач реального времени. Компилятор хуже справляется с оптимизацией по быстродействию/размеру кода, чем я. Я хочу создать asm библиотеку нужных мне функций, и меня интересует, почему все иллюстрируется на C (хотя мне понятней asm)? Пожалуй многое зависит от компилятора... АРМ я начал изучать несколько дней назад. Мощная вещь - на asm таких "финтов" можно наделать...
  22. Попробуй ldr PC,[PC,#-0x0FF0].
  23. ASM или C?

    По целям мне подходит asm. Боюсь собеседников потерять...
  24. ASM или C?

    Всем привет. Решил изучать arm (lpc21xx), но не могу определиться: то ли на C писать, то ли на asm. Все примеры приводятся на C. Есть смысл отказываться?
×
×
  • Создать...