![]() |
Accessing Sys.Idata[xxx] form bgcplc - Printable Version +- Delta Tau Forums (http://forums.deltatau.com) +-- Forum: Delta Tau Data Systems (http://forums.deltatau.com/forumdisplay.php?fid=1) +--- Forum: Power PMAC (http://forums.deltatau.com/forumdisplay.php?fid=2) +--- Thread: Accessing Sys.Idata[xxx] form bgcplc (/showthread.php?tid=2828) |
Accessing Sys.Idata[xxx] form bgcplc - JeffLowe - 01-28-2019 I have created the following background cplc for test. Upon enabling with UserAlgo.BgCplc[0]=1 I monitor the p variable testpvar and Sys.Idata[50000] in a watch window. The p variable increments correctly and continiously, but the variable accessed by pushm does not. Any ideas as to what I am missing here? // CPLCs/bgplc00/bgcplc.c #include <gplib.h> #define _PPScriptMode_ #include "../../Include/pp_proj.h" void user_plcc() { int *sos_tmp; sos_tmp = (int *)pushm + 50000; // pointer to Sys.Idata[50000] *sos_tmp++; // increment for test testpvar++; // testpvar is declared as global testpvar in blobal definitions.pmh } RE: Accessing Sys.Idata[xxx] form bgcplc - lovu - 01-28-2019 (01-28-2019, 11:42 AM)JeffLowe Wrote: I have created the following background cplc for test. Upon enabling with UserAlgo.BgCplc[0]=1 I monitor the p variable testpvar and Sys.Idata[50000] in a watch window. The p variable increments correctly and continiously, but the variable accessed by pushm does not. Any ideas as to what I am missing here? Replace "*sos_tmp++;" with "(*sos_tmp)++;". In your code, just the target address was shifted, not the value ++. |