logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[TMS320C6745][CCSv4] migająca dioda - nie można zapisać rejestrów GPIO

k4be 01 Maj 2012 14:12 2348 1
REKLAMA
  • #1 10849433
    k4be
    Poziom 31  
    Cel mojego pierwszego programu jest bardzo prosty - zielona dioda dołączona do linii GP4[3] ma migać. Spodziewałem się napisać działający program w mniej niż 10 minut - tymczasem po 4 godzinach kombinowania nadal nie działa. Nie potrafię też znaleźć żadnych przykładów tak prostego kodu.
    Kod programu:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    Adresy rejestrów:
    PINMUX12 0x01C14150
    GPIO_DIR45 0x01E26060
    GPIO_OUT_DATA45 0x01E26064
    GPIO_SET_DATA45 0x01E26068
    GPIO_CLR_DATA45 0x01E2606C

    Według podglądu pamięci w debugerze, rejestr PINMUX12 zapisuje się poprawnie, natomiast w pozostałych ciągle jest wartość 0. Komórki te nie dają się też zmieniać z poziomu debugera. Rejestry innych portów (na przykład GPIO_DIR12) zachowują się tak samo.
    Jaka może być przyczyna?
  • REKLAMA
  • #2 10849475
    stanleysts
    Poziom 27  
    miganie diodą najlepiej realizować operatorem ^ na rejestrze danych wyjściowych konkretnego portu GPIO a nie używać setek ifów, dodatkowo zrób porządek z tymi nawiasami bo tego się nie da czytać.
REKLAMA