User Tag List

Страница 32 из 43 ПерваяПервая ... 282930313233343536 ... ПоследняяПоследняя
Показано с 311 по 320 из 429

Тема: Апогей-БК01 и Апогей-БК01Ц: Внешний ROM диск

  1. #311

    Регистрация
    15.09.2009
    Адрес
    SPb
    Сообщений
    7,301
    Спасибо Благодарностей отдано 
    260
    Спасибо Благодарностей получено 
    293
    Поблагодарили
    211 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от vinxru Посмотреть сообщение
    ИМХО 6 резисторов лучше, чем DIP16. Причем, на вывод SS можно поставить лишь один резистор. Между ним и +3.3 Вольта. И программно вместо логической 1 включать Z состояние.
    Ну тебе виднее. Схема с DIP16 из доков к CodeVisionAVR. Там и библиотеки по SD имеются. Схема рабочая - я проверял.

    >И программно вместо логической 1 включать Z состояние.
    Ты еще предложи переключать вывод на вход и программно включать внутренний резистор подтяжки, тогда вообще без внешних резисторов можно ;-)

  2. #312

    Регистрация
    01.12.2010
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,657
    Записей в дневнике
    21
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от dk_spb Посмотреть сообщение
    Ты еще предложи переключать вывод на вход и программно включать внутренний резистор подтяжки, тогда вообще без внешних резисторов можно ;-)
    Все таки SD карта требует 3.3 Вольта. ИМХО их делают китайцы не заботясь о надежности. Абы работало. Размеры транзисторов там крайне маленькие, лишнее тепло им некуда отдавать. Так что не будем экономить на одном резисторе

    ---------- Post added at 15:16 ---------- Previous post was at 15:14 ----------

    Как вариант, можно попробовать ATMega запустить на 3.3 Вольта. Тогда SD карту можно напрямую подключить к контроллеру. И подавать на входы МК 5 Вольтный сигнал от компьютера. Вдруг такое прокатит. А в компьютер отдавать 3.3 Вольтный сигнал. Компьютер должен понять.

  3. #313

    Регистрация
    01.12.2010
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,657
    Записей в дневнике
    21
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Кстати описанная мной проблема отсутствия прерывания на изменение всех линий адреса не проблема. Мне в этом устройстве вообще прерывания не нужны. Я буду все делать в основном цикле программы.

    old = PIND;
    while(old==PIND);

  4. #314

    Регистрация
    15.09.2009
    Адрес
    SPb
    Сообщений
    7,301
    Спасибо Благодарностей отдано 
    260
    Спасибо Благодарностей получено 
    293
    Поблагодарили
    211 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от vinxru Посмотреть сообщение
    А в компьютер отдавать 3.3 Вольтный сигнал. Компьютер должен понять.
    Уверен? Все-таки у нас ttl, а не cmos

  5. #315

    Регистрация
    01.12.2010
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,657
    Записей в дневнике
    21
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от dk_spb Посмотреть сообщение
    Уверен? Все-таки у нас ttl, а не cmos
    Нет, не уверен.

  6. #316

    Регистрация
    01.12.2010
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,657
    Записей в дневнике
    21
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Что то не получилось в микроконтроллере поймать последовательность адресов 0xF2, 0xF6. Эти числа отличаются лишь одним битом. Даже на такой программе это не получилось:

    while(1) {
    if(PIND != 0xF2) continue;
    while(PIND==0xF2);
    delay_us(от 0 до 100)
    if(PIND != 0xF6) continue;
    // ни разу не удалось выполнить дальше программу
    }

    Видимо переходные процессы. Но что бы их пропустить я поставил задержку.

    Я даже оптимизации в компиляторе отключил и посмотрел ассемблер.

    ---------- Post added at 01:10 ---------- Previous post was at 01:05 ----------

    Очень странно, что CodevisionAVR компилирует строку

    while(PIND==old);

    как

    _0x43:
    IN R30,0x10
    LDI R31,0
    MOV R26,R5
    LDI R27,0
    CP R30,R26
    CPC R31,R27
    BREQ _0x43
    Последний раз редактировалось vinxru; 08.09.2012 в 01:07.

  7. #316
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  8. #317

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,398
    Спасибо Благодарностей отдано 
    1,702
    Спасибо Благодарностей получено 
    2,220
    Поблагодарили
    874 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от vinxru Посмотреть сообщение
    Очень странно, что CodevisionAVR компилирует строку
    Он сравнивает 32-х битные числа, значит ты обьявил этот тип, как long, а надо, как short.

  9. #318

    Регистрация
    01.12.2010
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,657
    Записей в дневнике
    21
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    100% что объявлено как unsigned char. Пробовал еще как char. И пробовал


    while((uchar)PIND == (uchar)old);

  10. #319

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,398
    Спасибо Благодарностей отдано 
    1,702
    Спасибо Благодарностей получено 
    2,220
    Поблагодарили
    874 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от vinxru Посмотреть сообщение
    100% что объявлено как unsigned char. Пробовал еще как char.
    Ну значит такой компилятор.

  11. #320

    Регистрация
    01.12.2010
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,657
    Записей в дневнике
    21
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Обновил CodevisionAVR 1.25 до 2.03. Компилироваться стало правильнее

    _0x83:
    IN R30,0x10
    CP R30,R4
    BREQ _0x83

Страница 32 из 43 ПерваяПервая ... 282930313233343536 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Апогей-БК01 и Апогей-БК01Ц: Обсуждение
    от Mick в разделе Радио-86РК
    Ответов: 370
    Последнее: 24.03.2025, 11:20
  2. Апогей-БК01 и Апогей-БК01Ц: Ремонт
    от ROMка в разделе Радио-86РК
    Ответов: 193
    Последнее: 15.11.2023, 15:09
  3. Продам Апогей БК 01
    от PicNov76 в разделе Барахолка (архив)
    Ответов: 27
    Последнее: 15.07.2010, 07:20
  4. Кому Апогей БК-01 в СПб?
    от spoonlite в разделе Барахолка (архив)
    Ответов: 9
    Последнее: 06.10.2009, 22:57
  5. Корпус от Апогей БК01Ц
    от Mick в разделе Барахолка (архив)
    Ответов: 26
    Последнее: 13.12.2007, 12:16

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •