Кто любит RISC в жизни, заходим, не стесняемся.
Ответить

Re: Open source plc STM32F103RBT6 source code Mitsubishi PL

Пт окт 05, 2018 20:29:55

народ я запутался

u16 PLC_16BIT[];
u16 *p_value;

p_value = PLC_16BIT+0x0800;
*p_value == PLC_16BIT[0x0800] ? или *p_value == PLC_16BIT[0x0400] ?

Re: Open source plc STM32F103RBT6 source code Mitsubishi PL

Пт окт 05, 2018 20:43:56

u16 это 2 байта и должно быть PLC_16BIT[0x0400].

Re: Open source plc STM32F103RBT6 source code Mitsubishi PL

Пт окт 05, 2018 20:56:26

а китайские программисты считают 0x0800

dosikus - таймеры проверь, работают нет ?

Re: Open source plc STM32F103RBT6 source code Mitsubishi PL

Пт окт 05, 2018 21:09:40

Завтра, все на работе.
А Мхххх. это , маркеры/меркеры/флаги - ячейки памяти, возможно часть проецируется на input/output...

Re: Open source plc STM32F103RBT6 source code Mitsubishi PL

Сб окт 06, 2018 10:24:26

идет перевод из адресов от компа к адресам PLC

зачем ??? лишняя работа

Добавлено after 4 hours 22 minutes 47 seconds:
Re: Open source plc STM32F103RBT6 source code Mitsubishi PLCFX1
а я чо то не понял, а что настройки генератора тута нету ?

он по умолчанию на HSI работает ?
Вложения
qqq.png
(30.05 KiB) Скачиваний: 476

Re: Open source plc STM32F103RBT6 source code Mitsubishi PL

Сб окт 06, 2018 10:39:54

а я чо то не понял, а что настройки генератора тута нету ?
он по умолчанию на HSI работает ?


Там дефолтные настройки в system_init.c - HSE ->PLL - 72MHz

Re: Open source plc STM32F103RBT6 source code Mitsubishi PL

Вс окт 07, 2018 10:05:10

в отладчике запускается
а так нет

Re: Open source plc STM32F103RBT6 source code Mitsubishi PL

Вс окт 07, 2018 10:33:40

imsushka, для этого нужен Ozone и Jlink , коннектимся к уже запущенному таргету.

Re: Open source plc STM32F103RBT6 source code Mitsubishi PL

Вс окт 07, 2018 12:03:33

???????????????

я прошил STLinkoм - и не работает
а вот если я прошил STLinkoм и запустил отладку из IAR - то пашет
надавил reset - и не пашет

Re: Open source plc STM32F103RBT6 source code Mitsubishi PL

Вс окт 07, 2018 12:21:42

Ужас какой-то , я еще понимаю что в кайле можно забыть поставить галку на ресет после прошивки...

Re: Open source plc STM32F103RBT6 source code Mitsubishi PL

Вс окт 07, 2018 12:33:24

а кейл не прошивает и не отлаживает - пишет нету стлинка

Re: Open source plc STM32F103RBT6 source code Mitsubishi PL

Вс окт 07, 2018 12:53:10

Кейл какой ? Дрова на стлинк свежие?

Re: Open source plc STM32F103RBT6 source code Mitsubishi PL

Вс окт 07, 2018 13:03:13

5.10
дрова не знам - вроде новые
да и кейл сам их ставил - вроде

иар точно сам дрова ставит - и они работают

да пофиг на кейл и дрова

я не понимаю почему работает только в отладчике ?
причем я оставил только настройку ц13 (лед) и усарт3 и цикл моргания светиком
остальное отключенно

Re: Open source plc STM32F103RBT6 source code Mitsubishi PL

Вс окт 07, 2018 13:17:41

Выкладывай проект кайла в архиве, будет время завтра посмотрю
В какой камень пытаешься запихать?

Re: Open source plc STM32F103RBT6 source code Mitsubishi PL

Вс окт 07, 2018 15:13:50

да проект этот же

камень 103c8

вот все изменения ( глобальные )

//u16 PLC_16BIT[12100] __at (0x20001000); //PLC_RAMФЛРРКэѕЭ
u16 PLC_16BIT[0x1001] __at (0x20001000); //PLC_RAMФЛРРКэѕЭ
//u8 PLC_8BIT[] __at (0x20000FFC); //PLC_RAMФЛРРКэѕЭ
//u8 step_status[1000] __at (0x2000D200);
u8 step_status[1000];// __at (0x20004200);

это в PLC_Com.c

Re: Open source plc STM32F103RBT6 source code Mitsubishi PL

Вс окт 07, 2018 18:00:00

imsushka , как тот же ? Ты что пользуешь те же настройки и те же файлы китайцев. Ни стартап ни систем инит ни установки линка не менял? Я же проект с нуля делал и только исходники добавлял. Знаю я этих китаз, натыкают наобум...

Re: Open source plc STM32F103RBT6 source code Mitsubishi PL

Пн окт 08, 2018 04:32:49

еее мая твая не понимай

зачем новый проект? если открылся и скомпилировался - значит рабочий, нет - значит фуфло

если б я новый проект мастерил , я б его в иаре делал, не пришлось бы кейл инсталить

я терпеть не могу Си (от Си-- ваще бэ-э-э-э), а тут, что в иаре что в кейле, стока настраивать надо прежде чем что то скомпилицца, а ж желание что то делать пропадает
ИДЕшка должна быть как CCS (PIC C Compiler) - запустил прогу, написал 20 строчек, скопилировал, прошил и забыл. ВСЕ!!!

а в иаре - эти файлы подсунь, в опциях все пути пропиши, тут почеши, тут погладь ....
а если ты библиотеку на новую версию меняешь, как будто новый проект открываешь

я пока езернет в 407 запустил все проклял

Re: Open source plc STM32F103RBT6 source code Mitsubishi PL

Пн окт 08, 2018 07:24:34

зачем новый проект? если открылся и скомпилировался - значит рабочий, нет - значит фуфло

"-Ну вы блин, даете" (С)

imsushka, ты же ворнинги получаешь!
src\PLC_Com.c(155): warning: #175-D: subscript out of range
PLC_16BIT[0X2000]=PLC_ROM[prog_address]; //Byte high
src\PLC_Com.c(156): warning: #175-D: subscript out of range
PLC_16BIT[0X2000]*=256; //
src\PLC_Com.c(157): warning: #175-D: subscript out of range
PLC_16BIT[0X2000]|=PLC_ROM[prog_address+1]; //Byte low
src\PLC_Com.c: 3 warnings, 0 errors


Поправил наобум - в отладчике висит в хардфаулт , чего и следовало ожидать...

Re: Open source plc STM32F103RBT6 source code Mitsubishi PL

Пн окт 08, 2018 08:56:35

PLC_16BIT[0X2000]=PLC_ROM[prog_address];
я адрес соотвтсвенно на 1001 поменял

и все , работает
но только в отладчике

Develop коннектицца, но нельзя прогу скачать с ПЛК - половину скачивает и вылетает по обрыву связи

прога жуткая - часть обращений к переменным прямая (так сказать, если PLC_16BIT это нормальная переменная), а часть напрямую к память, по адресу куда то в середину PLC_16BIT.

я по маленьку адреса в табличку заношу

но не всегда понятно что за адреса

Добавлено after 3 minutes 29 seconds:
народ я запутался

u16 PLC_16BIT[];
u16 *p_value;

p_value = PLC_16BIT+0x0800;
*p_value == PLC_16BIT[0x0800] ? или *p_value == PLC_16BIT[0x0400] ?


посмотрел в листинге - оказыцца вот это *p_value == PLC_16BIT[0x0800] правильно

Re: Open source plc STM32F103RBT6 source code Mitsubishi PL

Пн окт 08, 2018 09:40:17

PLC_16BIT[0X2000]=PLC_ROM[prog_address];
я адрес соотвтсвенно на 1001 поменял




Код:
//    PLC_16BIT[0X2000]=PLC_ROM[prog_address];               //Byte high
//    PLC_16BIT[0X2000]*=256;                                //
//    PLC_16BIT[0X2000]|=PLC_ROM[prog_address+1];            //Byte low
    PLC_16BIT[0X1001]=PLC_ROM[prog_address];               //Byte high
    PLC_16BIT[0X1001]*=256;                                //
    PLC_16BIT[0X1001]|=PLC_ROM[prog_address+1];            //Byte low

Улетает в хардфаулт и ворнинг о выходе за границы массива.
Ответить