Я новичок в программировании в любой форме C.Dynamic C (Тесо PC1620-PLC) контролирования LDC
У меня есть PLC (Тесо PC1620) (с использованием процессора кролика) с ЖК-экраном (матрица орбитальный LK204-7T-1У-USB-WB). Я пытаюсь использовать построение в горизонтальной функции бара/графика на ЖК-дисплее.
Приведенный ниже код работает, но я хочу иметь возможность изменять длину строки (6-е значение в массиве «bar»). Я пробовал это с кодом, прокомментированным вместо статической константы для «bar», это кажется неработоспособным и дает случайные полосы на ЖК-дисплее.
Что может привести к этому, и может быть, есть более простой/лучший способ присвоить массив «бар».
#use "oempc16xxdrivers.elib" //Include the OEM pro-teso PC16XO driver library
#define DINBUFSIZE 31 //Defining the serial IN buffer size
#define DOUTBUFSIZE 31 //Defining the serial OUT buffer size
void main()
{
static const char clear[] = {254,88}; //Clear LCD command
static const char load[] = {254,104}; //Initialize horizontal bar
static const char bar[] = {254,124,1,1,0,54}; //Place horizontal bar(245,124) column,Row,Direction,Length
auto int percentage;
auto int rxKey;
//auto char bar[6];
IOInit(); //Initialises the PC1600 (PLC).
serDopen(19200L); //Setting the baudrate of the serial port
serDrdFlush(); //Flushes the serial port D input buffer
serDwrFlush(); //Flushes the serial port D transmit buffer
serDwrite(clear,sizeof(clear)); //Clear LCD
serDwrite(load,sizeof(load)); //Initialize horizontal bar
// bar[0] = 254;
// bar[1] = 124;
// bar[2] = 1;
// bar[3] = 1;
// bar[4] = 0;
// bar[5] = 54;
for(;;)
{
rxKey = serDgetc();
percentage = 10;
//bar[5] = percentage;
if (0x42 == rxKey)
{
serDwrite(bar,sizeof(bar));
}
}
serDclose();
}
Динамические с версии 9.62
Ссылки:
PLC: http://www.teso.com.au/pro-teso/PC1-Controllers/PC1600-Controller.aspx
Работает ли изменение длины бара с декларацией 'static'? И «auto» имеет особое значение в компиляторе Rabbit? 'auto' обычно не требуется. http://stackoverflow.com/questions/2192547/where-is-the-c-auto-keyword-used –
* «Объявление статичного не будет работать, конечно» * Я думал, что этот вопрос говорит, что это работает, но не 'auto' local def. –
Извините, мой предыдущий комментарий был совершенно неправильным, поэтому я удалил его. Не использовать «auto» сделал разницу, объявив панель как: 'char bar [6];' заставил ее работать. Также объявляем его как 'static char bar [6];' работает. Я не знаю, имеет ли значение 'auto' особый смысл в компиляторе Rabbit, я изучаю себя, все, что я знаю, что мой код не работает. – CookieB