Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
 Аватар для shurikspk
409 / 228 / 43
Регистрация: 10.02.2013
Сообщений: 780

Вывод значения в порт TM4C123

20.02.2015, 21:47. Показов 809. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пишу код под Техасовский контроллер. Использую их библиотечные функциии которые они предоставляют. В процессе возникает такая проблемма(порт считаем настроенным). Вызываеш функцию передаешь параметр и все хорошо, но снимая реальные диаграммы можно увидеть то что некоторые функции записи в порт работают, некоторые нет, с чем это связано не пойму.
отрезки кода
Кликните здесь для просмотра всего текста

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
typedef unsigned char   uchar;
 
void SetCommLCD(uchar  bT)
{  
// Enable the GPIO pin for the 11111110  Set the 
        //PB0 - RS, 
            //PB1 - R/W, 
            //PB2 - E, 
            //PB3 - DB4, 
            //PB4 - DB5, 
            //PB5 - DB6, 
            //PB6 - DB7  as output
            //GPIO_PORTB_DIR_R = 0xFE;
            GPIOPinTypeGPIOOutput(GPIO_PORTB_BASE, GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2 |
            GPIO_PIN_3 | GPIO_PIN_4 | GPIO_PIN_5 | GPIO_PIN_6 );
            // enable the GPIO pin for digital function.
            //GPIO_PORTB_DEN_R = 0xFE;
            // E down
            GPIOPinWrite(GPIO_PORTB_BASE, GPIO_PIN_2 , ~GPIO_PIN_2) ;
            //GPIO_PORTB_DATA_R &= ~(GPIO_PIN_2); 
            // RS = 0, RW = 0
            GPIOPinWrite(GPIO_PORTB_BASE, (GPIO_PIN_0 | GPIO_PIN_1 ), ~0x3);
            //GPIO_PORTB_DATA_R &= ~(GPIO_PIN_0); 
            //GPIO_PORTB_DATA_R &= ~(GPIO_PIN_1); 
            // Clear data bus
            GPIOPinWrite(GPIO_PORTB_BASE, (GPIO_PIN_3 | GPIO_PIN_4 | GPIO_PIN_5 | GPIO_PIN_6),
            ~(GPIO_PIN_3 | GPIO_PIN_4 | GPIO_PIN_5 | GPIO_PIN_6) );
            /*GPIO_PORTB_DATA_R &= ~(GPIO_PIN_3);
            GPIO_PORTB_DATA_R &= ~(GPIO_PIN_4);
            GPIO_PORTB_DATA_R &= ~(GPIO_PIN_5);
            GPIO_PORTB_DATA_R &= ~(GPIO_PIN_6);*/
 
 
 
/////////////*********************************************   до этого все норм *********////////////////// 
 
 
            // Write data to bus
            GPIOPinWrite(GPIO_PORTB_BASE, (GPIO_PIN_6 | GPIO_PIN_5| GPIO_PIN_4 | GPIO_PIN_3), (bT & 0xF0));
            // E up
            GPIOPinWrite(GPIO_PORTB_BASE, GPIO_PIN_2 , GPIO_PIN_2) ;
            //GPIO_PORTB_DATA_R |= GPIO_PIN_2;
            // Wait
            Sleep (15);
            // E down
            GPIOPinWrite(GPIO_PORTB_BASE, GPIO_PIN_2 , ~GPIO_PIN_2) ;
            //GPIO_PORTB_DATA_R &= ~(GPIO_PIN_2);
            
            
            // Write data to bus
            GPIOPinWrite(GPIO_PORTB_BASE, (GPIO_PIN_6 | GPIO_PIN_5 | GPIO_PIN_4 | GPIO_PIN_3), ((bT << 4) & 0xF0));
            // E up
            GPIOPinWrite(GPIO_PORTB_BASE, GPIO_PIN_2 , GPIO_PIN_2) ;
            //GPIO_PORTB_DATA_R |= GPIO_PIN_2;
            // Wait
            Sleep (15);
            // E down
            GPIOPinWrite(GPIO_PORTB_BASE, GPIO_PIN_2 , ~GPIO_PIN_2) ;
            //GPIO_PORTB_DATA_R &= ~(GPIO_PIN_2);
            
            
                    
            
}


Что за варианты могут быть такого поведения ? Результат повторяется неоднократно

Добавлено через 6 минут
вызываю так
C
1
SetCommLCD(0x30);
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.02.2015, 21:47
Ответы с готовыми решениями:

Вывод значения ячейки excel в com-порт
Добрый день. Есть файл excel, в нем данные в ячейках, а именно тонаж. ячейка с тонажом обновляется по макросу. Подскажите как можно...

Как выводить значения в com-порт?
Как выводить значения из паскаля в ком порт? Можно пример:) необходжимо для ардуинки

Ввод/вывод в порт
Мне необхожимо получить доступ к COM, USB, LPT портам напрямую из моей программы. Кто-нибудь может подсказать как это сделать в Linux'e?

1
 Аватар для shurikspk
409 / 228 / 43
Регистрация: 10.02.2013
Сообщений: 780
25.02.2015, 22:06  [ТС]
для решения этой задачи нужно было всего лишь выровнять вывод информации относительно нужного пина, в случае если используем не ввесь порт, так как апи функция пишет относительно старшего или младшего бита
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.02.2015, 22:06
Помогаю со студенческими работами здесь

Вывод в COM-порт ASCII
Привет. Сразу извиняюсь может задам глупый вопрос, но он таков: как вывести в COM-порт ASCII символ например &lt;CR&gt;(0x0D)? С открытием...

Вывод в порт Atmega32
Подскажите, в чем ошибка. .divice Atmego32 .nolist .include &quot;m32def.yms&quot; .list .def temp=r20 INIT: ser temp out DDRA,...

Вывод в com-порт в Visual C
Здравствуйте! Стоит задача связать контроллер и ПК по UART. В кратце: контроллер принимает от ПК команду #1010х13 и что то по ней...

Вывод системной информации на COM порт
Вот вроде бы написал прогу. Она выводит на дисплей, введенную мной системную информацию, а хотелось бы чтобы она сама её считывала с компа...

ввод/вывод в порт(LPT/COM)
нужно в BCB обеспечить ввод/вывод в порт LPT. Ранее писал под линукс такую программу в онсоли она всё делала с помощью outb. В C++...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru