Jump to content

Recommended Posts

Posted (edited)

Народ, помогите разобраться пожалуйста вот код

#include <avr/io.h>
#include <stdlib.h>
#include <avr/interrupt.h>
unsigned char rab,i,b;
ISR(USI_OVERFLOW_vect)
{
    PORTD=0xFF;
    USISR|=(1<<USIOIF);
    b=1;
}
void initport()
{
    DDRD=0xFF;
    PORTD=0x00;
    DDRB=0xFF;
    PORTB=0x00;
    ACSR=0x80;
}
void initusi(unsigned char temp)
{
    b=0;
    USIDR=temp;
    USISR|=(1<<USIOIF);
    while(~(USISR&(1<<USIOIF)))
    {            
        if ((USIDR!=0)||(b==0))
        {
            USICR|=(1<<USIOIE)|(1<<USIWM0)|(1<<USICLK)|(1<<USITC);    
        } 
        else
        {
            return;
        }                                
    }
}
int main(void)
{
    initport();
    
    while(1)
    {
       sei();
       rab=rand()%1000;
       initusi(rab);
    }
}

в atmel studio 6 видно что значение temp помещается в USIDR ,видно что происходит сдвиг, с увеличением счетчика, а забивая прогу в proteus на выходе с порта B, а именно с ножки MOSI ничего не выходит, даже синхронизирующий сигнал отсутствует, хотя регистр USITC выставлен и повторяется. заранее благодарен за ответы или направление.

Edited by admin
Тэг CODE для кого?

Share this post


Link to post
Share on other sites

немного разобрался выводить инфу начал через прерывания, а на виртуальном терминале не показывал так как там скорость другая выставлена была. 

Share this post


Link to post
Share on other sites

Вебинар STM32G0 – новый лидер бюджетных 32-битных микроконтроллеров от STMicroelectronics

Компания Компэл приглашает вас 25 сентября принять участие в вебинаре, который посвящен новому семейству микроконтроллеров STM32G0. Вебинар рассчитан на технических специалистов и тех, кто хорошо знаком с семейством STM32. На вебинаре будут освоены современные методы тестирования производительности микроконтроллеров на примере самых бюджетных 32-битных семейств общего назначения STM32G0 и STM32F0 и проведено их подробное сравнение.

Подробнее

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Сообщения

    • Очередная порция новостей. МУКИ с этим усилителем продолжаются, хотя есть и успехи. Собрал второй блок УНЧ-50-8. Ну, тот на котором сгорели транзюки и на котором я все их выпаял. Во время пайки, у одного кт315 отвалилась ножка. Капец они жидкие. По счастливой случайности под рукой были 2N3904, которые даже лучше. Их и поставил. Для кт361 замены не нашлось, поэтому оставил его. На место сгоревшего кт837Н поставил кт837Х. Тестер показал что они по h21э почти одинаковые, по сравнению с кт837а. Запускаем... Работает! Постоянка на выходе 5-7 милливольт. Но к сожалению шум "бзззззз" по прежнему никуда не исчез. Попробовал увеличить емкость С5 (по дефолту 3.3пф). Рекомендуют увеличивать до 15-30пф. У меня таких номиналов не оказалось. Минимум что было, это 100пф. Попробовал его. Результат - не работает, вернее не пускает защита, реле даже не щелкает. Вернул 3.3пф на место. Ладно, условно блоки УНЧ-5-0-8 готовы и работают. Но надо победить этот звенящий фон. Замучался искать его причину. То ли тембрблок его источник, то ли сами блоки УНЧ, ума не приложу... Включил, громкость выкрутил на середину (именно в этом положении шумит больше всего), потрогал конденсаторы пальцами. Выяснилось что при прикосновении к С8 (0.1 мкф) шум усиливается. Выпаял, посмотрел, измерил. Емкость в норме 100нф, еср 1.8. Вроде порядок, да и что с ним может быть, это ж пленка. Впаял обратно. При прикосновении к металлическому корпусу темброблока шум тоже усиливается. И это отражается на индикаторе. Индикация аж в "оранжевую" зону уходит, ну то есть перегруз показывает. Может самовозбуждение где то какое то идет... фиг его знает.  Пустил в ход последнюю надежду в виде новой к157уд2. Старую выпаял, новую впаял и... Ноль эффекта, как шумело так и шумит. Пошло оно все В ПЕКЛО! 
    • перевожу на доступный : датчик с выходом ОК , нормально открытый , имеет два режима работы "триггер" и "концевик"  . в режиме "концевик" при подаче питания происходит ложное срабатывание датчика на 0,5сек.  подключенный на выход таймер запускается по спадающему фронту и происходит ложное включение всей последующей цепочки. причина : прошивка МК написана  Ивашкой из китайского "дворца Пыонеров" забывшего обнулить регистр порта вывода перед переключением порта на выход при инициализации МК. лечится перепрошивкой МК или заменой МК со своей прошивкой.
    • В юношестве собирал предусилитель для магнитного звукоснимателя ВЕГА-106 ( 81/3  Сухов, Байло, шумел, кстати, сильнее штатного ), вот тогда с разводкой земли первый раз познакомился, пауки и те удивлялись 
    • Поофтоплю малость. Вчера в местной радиолавке покупал детали,перед мной парень по десятку резисторов,диодов и мелких транзисторов подншевле типа наших кт315. Знакомый продавец спрашивает-мол куда надо то? Оказалось в радиокружок школьный. Представляете как я обрадовался? Телефон взял,адрес дал. Отдать лишнее конечно со своих развалов (подозреваю у каждого из нас есть чего) Белорус,отдай пионерам на опыты,пусть жгут. Главное с удовольствием )))
    • Обычным свитым проводом тянется, параллельно с сигналом ООС .
    • Картинки это хорошо, но когда всё на одной плате, то витую пару можно только 2 и 3 слое 4-х слойки выполнить
    • В сидюках много всякого можно встретить. FB в землях, хитрые выпрямители....много всякого
×
×
  • Create New...