addi II
Участник-
Постов
690 -
Зарегистрирован
-
Посещение
Весь контент addi II
-
MODBUS RTU парсинг
addi II ответил addi II тема в Форумы по интерфейсам
Спасибо можно ссылку в личку доки на модбас, в нете есть только одно описание но он на спецификацию не похоже -
MODBUS RTU парсинг
addi II опубликовал тема в Форумы по интерфейсам
Здравствуйте! Парсирую посылки вручную modbus-rtu устройства И вроде по фрейму все складывается, и даже специальное ПО парсирует пасылку, но я на нижнем уровне не могу Проблема в том что в мониторе я виже hex значения которые далее никак не интерпретируются Проблема в полях Id устройства и версии ПО, она вообще там с точкой! Перевод hex в ascii не дают должного(как представляет специальное верхнее ПО)представления Подскажите пожалуйста в чем хитрость? Спасибо! -
пропадают символы библотек
addi II ответил addi II тема в Altium Designer, DXP, Protel
спасибо попробую, еще хотел спросить как подключить цепь GND к внутреннему слою "PowerLayer" Переход через переходные не осуществляется и в менеджере нет возможности подключить цепь AD 16.0.6 -
пропадают символы библотек
addi II ответил addi II тема в Altium Designer, DXP, Protel
организованы как intlib Добавляю по одной, одинаковых нет, только несколько разных самое интересное что "вчера" компоненты оных виделись а сегодня нет -
пропадают символы библотек
addi II опубликовал тема в Altium Designer, DXP, Protel
Здравствуйте! Подскажите пожалуйста как устранить проблему Периодически пропадают символы библиотеки Списке остается только один "component_1" и все И при выборе компонента из списка инсталлированных библиотек просмотр не дает символа и он в итоге не кладется на схему и при этом нет никаких ошибок -
проблемы с полигоном
addi II ответил addi II тема в Altium Designer, DXP, Protel
Спасибо, так и есть, все нормально -
проблемы с полигоном
addi II опубликовал тема в Altium Designer, DXP, Protel
Здравствуйте! Полигон для земли сигнальные проводники не заливает по правилам Заливает почти до КЗ https://dropmefiles.com/uQ4en Когда как правила этого не позволяют https://dropmefiles.com/OiXNb Чтобы я не делал с менеджером и с правилами ничего не помогает, при этом это проверялась на разных по версии альтиумов, разных ПК и разных ОС Раньше такое было но в менеджере удавалось сделать как надо, сейчас менеджер не помогает Прошу подсказать в чем может быть причина, проект архивный, с библиотекой и компилируется -
ASCII 0-99 в HEX 0-255
addi II ответил addi II тема в Программирование
не совсем понял что за коэффициент - " (((u32)1u << 24) / 100u) + (1u << 15) >> 16; " получается -
ASCII 0-99 в HEX 0-255
addi II ответил addi II тема в Программирование
проблема, - как реализовать правильно на си я уже реализовал, но видимо не правильно вот так: volatile unsigned char tv,tvl,tvh; volatile unsigned char PWM1_value; volatile char data1[16]; /* data1[4] - первый ASCII сивол десятичного значения = */ /* data1[5] - второй ASCII сивол десятичного значения = */ tvl = data1[4] - 0x30; tvh = data1[5] - 0x30; tvl= tvl *20; tvh = tvh*5; tv = tvl + tvh; PWM1_value = tv; PWM1_update(); -
ASCII 0-99 в HEX 0-255
addi II опубликовал тема в Программирование
Здравствуйте! Подскажите пожалуйста как лучше сделать, я сделал, но видимо не правильно и значения не совсем совпадают(например 50 % по факту 40, 99 по факту 90) Приходят значения периода заполнения ШИМ в процентах, от 0 до 99 Необходимо преобразовать в значение аппаратного регистра сравнения от 0 до 255 прошу подсказать Спасибо! -
ПК под старую PCI плату
addi II ответил addi II тема в Поставщики всего остального
Да, но еще с поддержкой Ws7 -
ПК под старую PCI плату
addi II ответил addi II тема в Поставщики всего остального
все хорошо, кроме поддерживаемых ОС, драйвера под Ws10 для MB26.14 отсутсвуют -
ПК под старую PCI плату
addi II опубликовал тема в Поставщики всего остального
Здравствуйте ! Есть необходимость использовать старую PCI плату MB26.14. И оказалось что компа подходящего нет . И где купить сейчас также проблема. В связи с этим прошу подсказать где можно купить юр лицу новый комп с PCI Спасибо ! -
RPI 4B 3D
addi II ответил addi II тема в Raspberry Pi
как я понял в этих источниках все платное, мне не жаль, просто сама процедура оплаты немного напрягает -
RPI 4B 3D
addi II опубликовал тема в Raspberry Pi
Здравствуйте! Заложил в проект малинку и когда дошло дело до сборочника не нашел в нете, и на гитхабе, в том числе, степ малинки Думал уже давно все уже нарисовали и выложили, оказалось что нет..( Может у кого найдется моделька или подскажите где искать? П.С. ни на каких 3D порталах не зареген -
глаз замылился, прошу посмотреть
addi II опубликовал тема в Программирование
Здравствуйте ! Есть простой код, написанный под МК который не поддерживает отладку Поэтому если что-то не работает понять сложно В коде присутствует три условия - 3 парсинга команд по UART Прошу посмотреть его на предмет того почему условия больше 1 не работают По отдельности если компилируешь каждое условие, оно работает Но когда добавляешь хотя бы одно, - перестает Спасибо! void IRQ_uart_rx_tx() { _di_(); status_uart = SP_STAT0; //?????????? ??????? ??????? if (status_uart&0x40) //???????????? ?????????? ?? ?????? { ByteReceived = SBUF_RX0; temp = 1; } _ei_(); } volatile unsigned char temp=0; extern unsigned char ByteReceived; extern unsigned char status_uart ; volatile unsigned char sts; volatile unsigned char c0_reg; volatile unsigned char cntb; volatile unsigned char cmd; volatile unsigned char tr_s; volatile unsigned char i; volatile unsigned char j; volatile unsigned char datah; volatile unsigned char datal; volatile unsigned char cntglob=0; volatile char data1[6]; volatile char data2[16]; volatile char* data3; volatile char* data4; volatile char* data5; volatile unsigned int adr = 0x8000; volatile char* strres ; volatile char cmd1[] = "!01-SPU-1000\r"; volatile char cmd2[] = "!02-SPU-1000\r"; volatile char reccmd1[] = "$01M\r"; volatile char error[] = "error"; volatile char reccmd2[] = "$02M\r"; volatile char toend[] = ">AA\r"; volatile char toend3[] = ">AA\r"; volatile char reccmd3[] = "#01S3\r"; volatile char reccmd10[] = "#01S7\r" ; volatile char reccmd11[] = "#01S8\r" ; volatile char reccmd4[] = "#02S3\r"; volatile char toend4[] = "!013\r"; volatile char toend5[] = "!023\r"; volatile char toend10[] = "!ADC value:\r"; volatile char toend11[] = "!Stop obezgaz!:\r"; unsigned char tempo=0xFF; volatile uint16_t pref, aa,b,dd,n,d; volatile unsigned char debugout; volatile unsigned char temp3, kk; volatile unsigned char tempd; extern unsigned char ByteReceived; void main() { unsigned char c, tmp2; __NOP(); __NOP(); __NOP(); __NOP(); pref=0, aa=0,b=0,dd=0,n=0,d=0; temp3 = 0; _ei_(); timer1_init() ; USART0_Init(SP_MODE_1); tempv = 0; sts=0; cntb=0; cmd=0; tr_s=0; i=0; j=0; tempd = 0; debugout =0; c0_reg = 0; IOPORT1 = 0x00; IOPORT2 = 0x00; IOPORT3 = 0x00; IOPORT4 = 0x00; IOPORT1 = 0xFF; IOPORT2 = 0xFF; IOPORT3 = 0xFF; IOPORT4 = 0xFF; IOPORT2 &= ~0x80; IOPORT1 &= ~0xFF; ByteReceived = 0; temp = 0; status_uart =0; IOPORT1 = 0xFF; cntglob = 0; IOPORT2 |= 0x80; while(1) { if(temp == 1) { if((ByteReceived == 0x23) && (sts == 0)) { cntb = 0; sts = 2; data2[cntb] = ByteReceived; cntb++ ; ByteReceived = 0x00; temp = 0; } else { if((sts==2) && ((ByteReceived == 0x0d) || (ByteReceived == 0x0D)) && cntb == 5) { data2[cntb ] = ByteReceived ; data2[cntb+1] = '\0'; if(strcmp((const char *)data2,(const char *) reccmd3) == 0 ) { debugout = 0x08; } sts = 0; temp = 0; ByteReceived = 0x00; } else { if((sts==2) && (cntb <5)) { data2[cntb] = ByteReceived; cntb++ ; temp = 0; ByteReceived = 0x00; } } } if((ByteReceived == 0x23) && (sts == 0)) { cntb = 0; sts = 3; data2[cntb] = ByteReceived; cntb++ ; ByteReceived = 0x00; temp = 0; } else { if((sts==3) && ((ByteReceived == 0x0d) || (ByteReceived == 0x0D)) && cntb == 5)//(cntb==(strlen("#AABDD")))) { data2[cntb ] = ByteReceived ; data2[cntb+1] = '\0'; if(strcmp((const char *)data2,(const char *) reccmd10) == 0 ) { debugout = 0x11; } sts = 0; temp = 0; ByteReceived = 0x00; } else { if((sts==3) && (cntb <5))//(cntb<(strlen("#01s3")))) { data2[cntb] = ByteReceived; cntb++ ; temp = 0; ByteReceived = 0x00; } } } if((ByteReceived == 0x23) && (sts == 0)) { cntb = 0; sts = 4; data2[cntb] = ByteReceived; cntb++ ; ByteReceived = 0x00; temp = 0; } else { if((sts==4) && ((ByteReceived == 0x0d) || (ByteReceived == 0x0D)) && cntb == 6) { data2[cntb ] = ByteReceived ; data2[cntb+1] = '\0'; if(strcmp((const char *)data2,(const char *) reccmd11) == 0 ) { debugout = 0x12; } sts = 0; temp = 0; ByteReceived = 0x00; } else { if((sts==2) && (cntb <6)) { data2[cntb] = ByteReceived; cntb++ ; temp = 0; ByteReceived = 0x00; } } } } else { if((debugout== 0x08) && (sts == 0)) { IOPORT2 &= ~0x80; tr_s = ((unsigned char)sizeof(toend4)) - 1; j = 0; do { SBUF_TX0 = toend4[j]; do{status_uart = SP_STAT0;} while(!(status_uart & 0x08)); tr_s --; j++; } while(tr_s); sts = 0; while(!(status_uart & 0x08)); IOPORT2 |= 0x80; debugout = 0; tempd = 1; } if((debugout == 0x11) && (sts == 0)) { IOPORT2 &= ~0x80; tr_s = ((unsigned char)sizeof(toend10)) - 1; j = 0; do { SBUF_TX0 = toend10[j]; do{status_uart = SP_STAT0;} while(!(status_uart & 0x08)); tr_s --; j++; } while(tr_s); sts = 0; cntb = 0; debugout = 0; while(!(status_uart & 0x08)); adr = 0xC000; *(volatile short*)(adr) = 0x01; datah = SPI_Send(0x01); datal = SPI_Send(0x02); Uart[1] = datah; Uart[0] = datal; tr_s = ((unsigned char)sizeof(Uart)) - 1; j = 0; do { SBUF_TX0 = Uart[j]; do{status_uart = SP_STAT0;} while(!(status_uart & 0x08)); tr_s --; j++; } while(tr_s); sts = 0; cntb = 0; debugout = 0; while(!(status_uart & 0x08)); IOPORT2 |= 0x80; } if((debugout== 0x12) && (sts == 0)) { IOPORT2 &= ~0x80; tr_s = ((unsigned char)sizeof(toend11)) - 1; j = 0; do { SBUF_TX0 = toend11[j]; do{status_uart = SP_STAT0;} while(!(status_uart & 0x08)); tr_s --; j++; } while(tr_s); sts = 0; while(!(status_uart & 0x08)); IOPORT2 |= 0x80; debugout = 0; adr = 0xC004; *(volatile short*)(adr) = 0xFF; } } } } -
Спасибо а сколько таких ads1263 тогда надо ставить? Еще вопрос, также нужно окучить все возможные термопары, - L,J,N,K,S,R,B,T,A-1,A-2,A-3 Подойдет ли также ads1263? Может можно одной типовой схемой обойтись на ОУ и цифровым сопротивлением для подгона делителя?
-
как окучить сразу все термоспортивления
addi II опубликовал тема в Вопросы аналоговой техники
Здравствуйте! Стоит не простая задача сделать аналоговое чтение сразу всех возможных потенциометров, а именно: 50M, Cu50, 50П, Pt50, Ni100, 100M, Cu100, 100П, Pt100, Ni500, 500M, Cu500, 500П, PT500, Ni1000, 1000M, Cu1000, 1000П, Pt1000, TCM гр. 23 Как я понимаю нужно как то мультиплицировать 50,100,500, 1000 сопротивления Подскажите пожалуйста не огородное решение Спасибо! -
Altium проект с двумя этажами
addi II опубликовал тема в Altium Designer, DXP, Protel
Здравствуйте делаю схему которое в изделие сможет поместиться на основе 2-х плат Прошу подсказать как мне делать проект чтобы была потом возможность перевести все в 3Д Спасибо -
Парсинг хекс строки
addi II ответил addi II тема в Программирование
имелось ввиду без использования sdio.h