![](https://electronix.ru/forum/uploads/set_resources_23/84c1e40ea0e759e3f1505eb1788ddf3c_pattern.png)
![](https://electronix.ru/forum/uploads/set_resources_23/84c1e40ea0e759e3f1505eb1788ddf3c_default_photo.png)
adnega
Свой-
Постов
3 594 -
Зарегистрирован
-
Посещение
-
Победитель дней
3
Весь контент adnega
-
Кварц на 16МГц (для снятия вопроса по CKOPT). Вопросов по сути два: 1. Конденсаторы ставят для того, чтобы не было генерации на высших гармониках? Я допускаю, что генератор может запуститься на, скажем, 32МГц... Ядро вряд ли заработает, но и не факт, что генератор сможет работать на этой частоте. 2. Конденсаторы нужны для подавления помех? Для чего-то еще? Намекните, пожалуйста, чего стоит подумать/почитать.
-
Добрый день! Столкнулся с проблемой: чип-конденсаторы, которые рекомендуют ставить к кварцу подключены к "грязной" земле - помеха ловиться идеально. Я хочу их просто исключить из схемы. Какие проблемы могу поиметь в будущем? (крайне интересно)
-
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
-
Доброго дня! Мне вот очень интересно применение кольцевых буферов для реализации консоли. Со временем "написались" некоторые участки кода, которые позволяют в общем виде сделать реакцию на команды. Юзаю повсеместно. Хотелось бы услышать отзывы и предложения по данной проблеме. :-) command.rar
-
Спасибо за советы! :-) И за библиотеки спасибо, правда, свои уже наработал ;-) Хотелось бы иметь файлики от производителя, но увы... :-( А по поводу названий - конечно же, беру из даташитоф, но имена получаются длинющие, например, для pin connect block. И еще момент, практически забил все определения для LPC2148, а теперь появилась LPC2378...
-
Если их в природе нет, то все понятно :-( - забью свои. Только, понимаете, во-первых, не хочу разойтись с "внешним миром". А во-вторых, под новый камень переписать файлик, ну... мягко скажу, нелегко! И самый сложный момент придумать уникальное имя!
-
Добрый день! Два исходника из примеров, идущих с 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`ом, а как быть в обработчиках прерываний. Что посоветуете?
-
Где купить?
adnega ответил InvisibleFed тема в AVR
Заказывал в www.chipinfo.ru последний раз: 50 шт atmega8-16au по 13 рублей за штуку! :) -
Во время записи: - оператор начинает сеанс записи; - последовательно добавляет 1000 ключей в несортированный массив; - заканчивает сеанс записи, что приводит к сортировке массива. Во время чтения: - таблеточный протокол последовательный, поэтому с приходом нового бита мона уже начинать поиск, а не ждать когда все биту зальюца... Вот. ;)
-
Исходники функций для работы с UART с буферизацией по приему и передаче. Правда, на асме ;) На С есть дома... и для ARM. Но идею понять можно... Могу заслать, если надо. uart.rar
-
Как измерить напряжение большее +5В?
adnega ответил sss_beginner тема в AVR
Два резистора последовательно, одним краем на +5, другим на -12 (вход), в месте соединения мерить напряжение, правда не весь диапазон АЦП задействуешь. Можно применять, где не нужна большая точность. А еще можно посчитать уравнение для этой схемы. найти R1 и R2 если 1. при in=0, out=2.56 2. при in=-12, out=0 in - вход от -12..0; out - точка соединения резисторов. Хотя надо схему усложнить: три резистора спаять в одной точке (выход, подаем на вход АЦП), одним краем на +5, вторым на землю, третий вход. Нужно знать диапазон входных напряжений: хоть от -100 до +100. Единственное надо помнить, что весь диапазон разобьется на 1024 уровня. -
Всем привет! Скачал сегодня свежую версию Keil uVision (v3.51). Раньше стояла версия 3.10. Обе без лицензии. В новой версии заметил, что помимо стандартных ограничений нельзя указать/изменить Опции для проекта :( . Поможите?
-
То, что надо!!! Спасибо! Пишу в uVision3
-
Спасибо! Такой файл у меня есть. Нужен с описаниями регистров и битов (<iolpc2101.h>, <iolpc2148.h>). В примерах они часто фигурируют.
-
Друзья! Подарите пожалуйста заголовочные файлы к LPC2101, LPC2148. Сам бы написал, но хочется придерживаться общепринятых стандартов.
-
Почему 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)
-
- питание стандартно; - i2c флешка (at24c256) к соответствующим ногам SCL(28), SDA(27); - динамик к OC2(17-dip/15-tqfp); - включается по RESET(1-dip/29-tqfp).
-
Собрано на Меге8 и i2c флешке 32кБ. (дверной звонок) test_pwm_0.zip
-
Всем спасибо за ответы/советы. Что ж возьмусь за изучение C... Изучать лучше на примерах или есть учебник какой? Дело в том, что опыт C++ есть громадный, меня волнует специфика C под АРМ, чтобы сразу начать писать "в духе" АРМ.
-
Очевидно. За этим языки высокого уровня и создавались. Почему в моем случае можно сделать исключение, потому что я программирую для задач реального времени. Компилятор хуже справляется с оптимизацией по быстродействию/размеру кода, чем я. Я хочу создать asm библиотеку нужных мне функций, и меня интересует, почему все иллюстрируется на C (хотя мне понятней asm)? Пожалуй многое зависит от компилятора... АРМ я начал изучать несколько дней назад. Мощная вещь - на asm таких "финтов" можно наделать...
-
По целям мне подходит asm. Боюсь собеседников потерять...
-
Всем привет. Решил изучать arm (lpc21xx), но не могу определиться: то ли на C писать, то ли на asm. Все примеры приводятся на C. Есть смысл отказываться?