yogi Posted September 22, 2014 Report Share Posted September 22, 2014 So I got a question, and feel like it's a 'dumb' question, but what the hey, I spent the evening working it out and wanted some input. I'm messing with the 8x8 scan matrix for MIOS8, and am expanding it a bit for a little project. Was setting up variables for transposing note range and Midi out channel. At first tried adding to the display using 'pin' which is returned from the sm_ButtonHandler, but found it was out of scope in Display_tick(). So above Init() I added sm_button_pin and within SM_NotifyToggle() this: sm_button_pin=pin; This works, with sm_button_pin being global. Then added vars for chan_out and note_offset unsigned char chan_out=0; This seemed to work but when I tried to set it to 3 or what have you, no change. What I finally did was: unsigned char chan_out; And in Init() added this: char_out=3; So is there a better/cleaner way? I was thinking it should be in main.h rather then main.c but couldn't get it working; even tried to add sm-button-pin as an export from sm_simple.asm. My C skills are way behind compared to assembly, feeling bad it took so long just setting and using a variable! Are there any online refs for SDCC and C in general? Have a few dusty C++ books and a couple CCS C manuals, guess I'll have to clear of the cobwebs :) Thanks, Yogi Quote Link to comment Share on other sites More sharing options...
TK. Posted September 22, 2014 Report Share Posted September 22, 2014 It would work with a common C flow (e.g. on a MIOS32 core), but it doesn't work with MIOS8 in conjunction with the quick&dirty SDCC adaption, because it doesn't take care about variable preloading and initializes all variables (which are not declared as a const) with 0 So, you are on the right track, there is no cleaner way with the MIOS8/SDCC combo. Best Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
yogi Posted September 22, 2014 Author Report Share Posted September 22, 2014 OK.thanks. The differences between standard C, CCS, MPLab C and SDCC in combination with my aging memory is a bad mix:) Will have to spend some time with the SDCC docs, Thanks again for your efforts, even though MIOS8 is 'old school', it is such a great package to work with:) yogi Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.