+ Reply to Thread
Page 3 of 43 FirstFirst 123456713 ... LastLast
Results 41 to 60 of 854

Thread: Propeller Assembly for beginners

  1. #41

    Default Re: Propeller Assembly for beginners

    I'm not sure archaic is a good word in the contexts you use. Simple seems a more fitting term.
    The first 2 examples wont compile of course, so I suppose in that way they are "old and no longer in use."

    The new code in your next example is bad:
    Code:
    :loop  waitcnt  time,   delay          'the wait instruction
           or      outa,   %01             'sets output 0 on and 1 off
    ...
    What's wrong with this? %01 refers to the content of COG address 1 which in the given case will be $a0bfcc?? .... Can't tell extactly what value it will be because pin is not in the second listing and the program will not compile. The program might actually half work if pin was on register address 10.

    Your last example gives a 0.5 second delay. If could be about 0.25s delay if you used "djnz time,#$".

    Other than those problems, I like your progressive examples.

  2. #42

    Default Re: Propeller Assembly for beginners

    Also, you don't get anywhere with or to switch pins on and off. On yes, off never. I think what you meant to use was mov which would at least match your comments.

  3. #43

    Default Re: Propeller Assembly for beginners

    Here is my version, using only mov as first stepping stone with mostly indirect numbers.
    Code:
    CON
            _clkmode = xtal1 + pll16x   'Standard clock mode * crystal frequency = 80 MHz
            _xinfreq = 5_000_000
    
    
      
    PUB   main
          cognew(@entry,0)
    
    
    DAT
    entry   mov dira,#%11           'pin p0 and p1 as output
            mov time,#5             'first time we only want to wait 0 clock(+ 5 for the overhead) 
            add time,cnt            'add current counter value to time
    
    loop    waitcnt time, delay     'wait until counter matches time, when done add delay to time
            mov outa,#%01           'set pin p0 high, p1 low
    
            waitcnt time, delay     'wait, time had 15million added to it from above waitcnt opcode  
            mov outa,#%10           'set pin p0 low, p1 high
            jmp #loop               'jmp to loop, don't forget the # sign  
    
    delay long 15_000_000           '15 million clock cycles, underscores is just for easy reading by human eyes.
    time  res 1
    2nd updated version, that shows better programming style.

    Code:
    CON
            _clkmode = xtal1 + pll16x     'Standard clock mode * crystal frequency = 80 MHz
            _xinfreq = 5_000_000
    
    
      
    PUB   main
          cognew(@entry,0)
    
    
    DAT
    entry   mov dira,output         'set outputs 
            mov time,#5             'first time we only want to wait 0 clock(+ 5 for the overhead) 
            add time,cnt            'add current counter value to time
    
    loop    waitcnt time, delay     'wait until counter matches time, when done add delay to time.
            or outa, pin1           'set pin1 high
            andn outa,pin2          'set pin2 low
    
            waitcnt time, delay     'wait, time had 15million added to it from above waitcnt opcode.  
            andn outa,pin1          'set pin1 low
            or outa, pin2           'set pin2 high
    
            jmp #loop               'jmp to loop, don't forget the # sign.   
    
    delay   long 15_000_000         '15 million clock cycles 
    pin1    long 1<<0               '1 shifted zero(p0) steps up = 1  (= %00000001)
    pin2    long 1<<1               '1 shifted one(p1) step up  = 2   (= %00000010)
    output  long 1<<0 | 1<<1        '| =or, so ora the pins we want as output 
    
    time  res 1
    3rd way with xor, and declaring values in CON sections.
    Code:
    CON
            _clkmode = xtal1 + pll16x     'Standard clock mode * crystal frequency = 80 MHz
            _xinfreq = 5_000_000
    
            pin1= 0 'p0 (use a value between 0 and 31)
            pin2= 1 'p1 (though 28-31 is sometimes reserved)      
    
      
    PUB   main
          cognew(@entry,0)
    
    
    DAT
    entry   mov dira,output         'set outputs
            or outa,led1            'set pin1 high
            mov time,#5             'first time we only want to wait 0 clock(+ 5 for the overhead) 
            add time,cnt            'add current counter, don't add code between this and next line
                                    ' without adding at least 4 to the #5 above for each line added.
    :loop   waitcnt time, delay     'wait until counter matches time, when done add delay to time.
            xor outa, output        'bit invert all output pins. 
            jmp #:loop              'jmp to :loop, don't forget the # sign.   
    
    delay   long 15_000_000         '15 million clock cycles 
    led1    long 1<<pin1            '1 shifted steps up
    led2    long 1<<pin2            '1 shifted steps up  
    output  long 1<<pin1 | 1<<pin2  '| =or, so ora the pins we want as output
    
    time  res 1                     'hint: time can be replaced with cnt, yes cnt the shadow register.
    Last edited by tonyp12; 07-23-2011 at 05:56 AM.

  4. #44

    Default Re: Propeller Assembly for beginners

    @Jazzed
    I compiled and ran all the programs. They all work, though you may well be right about using
    better technique, (which I have not yet developed and welcome help with).
    @Kuroneko
    Good point. I understand what you are saying.
    @ Tony, I'll add your code as another way of doing it. Later during the final edits. Thanks.

    When do I use
    :loop and jmp #l:loop
    and when do I use l
    loop and jmp #loop
    and is there a difference?

    Harprit.

  5. #45

    Default Re: Propeller Assembly for beginners

    :loop, with colon you are allowed to reuse that name so you can call them all by the name :loop (with another label name in between)
    instead of having to use loop1, loop2 etc.
    good if you cut and paste code in as they all probably use the name loop somewhere.
    Last edited by tonyp12; 07-23-2011 at 05:39 AM.

  6. #46

    Default Re: Propeller Assembly for beginners

    Quote Originally Posted by Harprit View Post
    @Jazzed
    I compiled and ran all the programs. They all work, though you may well be right about using
    better technique, (which I have not yet developed and welcome help with).
    Technique is subjective - compiling is not.

    It's very likely that you had copy/paste errors. The second program as originally posted would never even successfully compile without the pin variable defined. I suggest you be more careful with what you post.

    --Steve

  7. #47

    Default Re: Propeller Assembly for beginners

    Question:

    I am writing the code (done) to read two potentiometers from an MCP 3202 chip (all of it in PASM)
    When I get done, the data is in two variables in the Cog that read them (in PASM.)
    How do I relate these two registers to two named values in SPIN so that I can send them
    to the Parallax Serial Terminal to see if what I did was right.

    Harprit
    Last edited by Harprit; 07-23-2011 at 05:01 PM.

  8. #48

    Default Re: Propeller Assembly for beginners

    Quote Originally Posted by Harprit View Post
    Question:

    I am writing the code (done) to read two potentiometers from an MCP 3202 chip (all of it in PASM)
    When I get done, the data is in two variables in the Cog that read them (in PASM.)
    How do I relate these two registers to two named values in SPIN so that I can send them
    to the Parallax Serial Terminal to see if what I did was right.

    Harprit
    Add a mailbox with the start address passed to PAR via cognew. Example:

    Code:
    {{
    ===========================================================
    sample pasm mailbox interface
    ===========================================================
    }}
    con
      _clkmode = xtal1 + pll16x
      _clkfreq = 80_000_000
    
    var
      long mailbox, data1, data2
      long cog
    
    obj ser: "FullDuplexSerial"
    
    {{
    -----------------------------------------------------------
    main demo loop
    -----------------------------------------------------------
    }}
    pub demo
    
    ' start up the serial driver
    '
      ser.start(31,30,0,115200)
    
    ' wait for serial driver to start up ... very imprecise
    '
      waitcnt(clkfreq+cnt)
    
    ' start up adc reader pasm
    '
      start
    
    ' read and display values once per second
    '
      repeat
    
        readAdc                     ' assuming a command is used for the read
    
        ser.hex(data1, 8)           ' show data
        ser.tx(" ")
        ser.hex(data2, 8)
        ser.str(string($d,$a))      ' newline for everyone
    
        waitcnt(clkfreq+cnt)        ' wait a second
    
    {{
    -----------------------------------------------------------
    start the pasm code with mailbox control
    -----------------------------------------------------------
    }}
    pub start
    
    ' start with non-zero in mailbox so we know when cog has started
      mailbox := -1
    
      cog := cognew(@pasm, @mailbox)+1
    
    ' wait for cog to start
      repeat while mailbox
    
    {{
    -----------------------------------------------------------
    cogstop method
    -----------------------------------------------------------
    }}
    pub stop
      if cog > 0
        cogstop(cog~ - 1)
    
    {{
    -----------------------------------------------------------
    mailbox interface code for reading ADC on demand
    -----------------------------------------------------------
    }}
    pub readAdc
    '' optional read command
    '' if not used, remove cmdWait code in the pasm
      mailbox := -1
      repeat while mailbox
    
    {{
    ===========================================================
    pasm for using mailbox interface
    ===========================================================
    }}
    dat  org
    pasm
    cmd           mov       $, par
    cmdp          mov       $, cmd
    d1p           add       cmd, #4
    d2p           mov       d1p, cmd
    d1            add       cmd, #4
    d2            mov       d2p, cmd
    
    zero          long 0 ' 0 is nop and is used for command done
    
    cmdDone ' tell start code the COG is running
                  wrlong    zero, cmdp
    
    cmdWait ' optionallly wait for read command
                  rdlong    cmd, cmdp
            ' TODO add waitcnt here to lower COG power consumption
                  tjz       cmd, #cmdWait
    
            ' read adc data to d1 and d2
            ' TODO call your read subroutine(s) here
    
                  wrlong    d1, d1p
                  wrlong    d2, d2p
            '
            ' end of main loop
            '
                  jmp #cmdDone
    
    {{
    ===========================================================
    end of file
    ===========================================================
    }}
    I use short variable names since I find such code easier to read.
    I find comments above statements easier to read, but I also put them in line often.

    Notice that cmdWait is a loop that does nothing until a valid command comes.
    This loop is optional, but with a waitcnt can save power.

    Result below prints the instructions at address d1 and d2.
    Your PASM ADC reader code would save ADC values there.

    Code:
    c:\Propeller\harprit>bstc -d com6 -p0 -f -Ograux -L c:\bstc\spin mailbox_demo.spin
    Brads Spin Tool Compiler v0.15.4-pre3 - Copyright 2008,2009 All rights reserved
    Compiled for i386 Win32 at 19:57:58 on 2010/01/15
    Loading Object mailbox_demo
    Loading Object FullDuplexSerial
    Program size is 740 longs
    Compiled 230 Lines of Code in 0.01 Seconds
    We found a Propeller Version 1
    Propeller Load took 0.609 Seconds
    
    c:\Propeller\harprit>uterm com6 115200
    80FC0004 A0BC0600
    80FC0004 A0BC0600
    80FC0004 A0BC0600
    80FC0004 A0BC0600
    80FC0004 A0BC0600
    ←
    All done.

  9. #49

    Default Re: Propeller Assembly for beginners

    Steve:

    Thanks for taking a such large chunk of your precious time to write the code you posted above
    I will have questions as I try to understand it all but right now I have work to do just understanding it.
    Thanks again

    Harprit.

  10. #50

    Default Re: Propeller Assembly for beginners

    Quote Originally Posted by Harprit View Post
    Steve:

    Thanks for taking a such large chunk of your precious time to write the code you posted
    No big deal. I do it all the time, so it's relatively quick and easy.
    The hard part is making sure it compiles.
    The harder part is making sure it works.
    The hardest part is communicating what it's all supposed to do

    On retrospect, I realized the first lines of pasm were not obvious. Here are some comments.
    Code:
    dat org
    pasm
    cmd           mov       $, par  ' read par value to cmd with "$" ($ means the address of this line).
    cmdp          mov       $, cmd ' cmd is used as a temp variable, set cmdp to par address via cmd
    d1p           add       cmd, #4 ' add 4 to address so that we can find data 1's pointer "d1p"
    d2p           mov       d1p, cmd ' assign address to data 1 pointer
    d1            add       cmd, #4 ' add 4 to address so that we can find data 2's pointer "d2p" 
    d2            mov       d2p, cmd ' assign address to data 2 pointer - d1 and d2 get overwritten
    Cheers.

  11. #51

    Default Re: Propeller Assembly for beginners

    Question for experts:

    I've been banging my head against the wall all afternoon with the above code and now I have a question
    I have not tried this yet but...
    Why is it not possible for me to write a 32 bit value to the main memory with WRLONG in the cog written in PASM and then
    read that same memory location with WORD in another cog written in SPIN

    Harprit

  12. #52
    StefanL38's Avatar
    Location
    northern part of Hessen (Germany)
    Posts
    2,153

    Default Re: Propeller Assembly for beginners

    now to find out this I would store two different values that are easy to discover as hexnumbers and then using PASD to find the locations in the HUB-RAM
    maybe it has something to do with that SPIN-variables become reordered in HUB-RAM longs words bytes

    Please add your code to a posting. With your code it will be much easier to explain what happens

    best regards

    Stefan

  13. #53

    Default Re: Propeller Assembly for beginners

    Quote Originally Posted by Harprit View Post
    I've been banging my head against the wall all afternoon with the above code and now I have a question
    Maybe you should limit your wall banger time to 15 minutes or less before asking for help.

    I suspect that you need to do lots more reading.

    All you have to do is use the same address for your PASM write as for your SPIN read. it doesn't matter how you get your address - you may end up corrupting something though if it's not allocated as a variable.

    Yes, by all means paste your code here, and someone can tell you what the problem is.

    I've seen using a debugger mentioned twice now. Maybe you really should follow that advice.

    I use this http://forums.parallax.com/showthrea...l=1#post829927. I started using PASD long ago, but quickly found it "limiting."

    I use my debugger any time i don't understand why something is not working, and it's usually something really stupid that's causing the problem.

    A debugger can present several new challenges though. Sometimes more real-time tools are necessary.

  14. #54

    Default Re: Propeller Assembly for beginners

    ... it might be as simple as a long not fitting into a word ...

    Following up on post #40 you really should get into the habit of matching your comments with the code. Finding blindingly obvious contradictions isn't going to help the beginner and they get distracted from the actual lesson or - worse - give up.
    Last edited by kuroneko; 07-24-2011 at 05:45 AM. Reason: added note re: comments

  15. #55
    StefanL38's Avatar
    Location
    northern part of Hessen (Germany)
    Posts
    2,153

    Default Re: Propeller Assembly for beginners

    @jazzed:
    tried again your debugger. You wrote PASD is "limited". Could you please explain what are the advantages of BMA-Debugger over PASD?
    looking up the memory through dumping and then have the code out of sight looks uncomfortable to me. So from testing it I did not see what the advantage is

    best regards

    Stefan

  16. #56

    Default Re: Propeller Assembly for beginners

    I had hoped that some beginner would participate but so far no one has.
    Beginners would lend a different perspective.
    My postings reflect what I am up to at my computer.
    This is at least 50 times more difficult than writing in SPIN. I have to feel my way through the haze.
    Comments received have been very helpful special the sample programs because I need to see real code that I can understand.
    Later today I will post my efforts to write a word in PASM and read it in SPIN. So far I am having difficulty addressing the same memory location in hub from both cogs.

    See following (kuroneko's) post, so no need to me to post by me.

    Harprit
    Last edited by Harprit; 07-24-2011 at 04:02 PM.

  17. #57

    Default Re: Propeller Assembly for beginners

    Here would be one example for sharing a memory location (demoboard):
    Code:
    PUB null | shared
    
      cognew(@generate, @shared)                    ' start incrementer
    
      dira[16..23]~~                                ' all LEDs are outputs
      repeat                                        ' endless loop
        outa[16..23] := shared.byte[2]              ' display byte 2 only
    
    DAT             org     0
    
    generate        add     temp, #1                ' simply increment our value
                    wrlong  temp, par               ' share with SPIN cog
                    jmp     #generate               ' endless
    
    temp            res     1                       ' temporary (yes, blindingly obvious)
    
                    fit
                    
    DAT
    The important thing here is that par is only 14bit in size (16bit in fact with bits 0 and 1 equal 0, i.e. a 4n aligned address). HTH

  18. #58

    Default Re: Propeller Assembly for beginners

    Quote Originally Posted by StefanL38 View Post
    You wrote PASD is "limited". Could you please explain what are the advantages of BMA-Debugger over PASD?
    Everyone has their own tastes.
    What is simple to some may be overwhelming for others.
    What is limiting to some may be overwhelming for others.
    What is less limiting to some may be overwhelming for others.

    Things with less limits tend to be more complicated in some ways:
    Think MAC -vs- UNIX ... up until OS-X that is

    Code:
    BMA/PASD Comparisons
    
    BMA                                     PASD
    Step animation record                   No step animation record
    Multi-COG debugger                      Single COG debugger only
    Can use any complier                    Must use Propeller Tool
    Command line tool + terminal program    Windows program
    Needs long 0 [8] at addr 0 for stub     User adds 12 instructions at addr 0
    Requires using listings for symbols     Has symbol address/data in windows
    
    BMA is best used in conjunction with BSTC / Homespun listings.
    Listings show the best picture of what is in the chip at startup.
    Listings show all object DAT addresses and data.
    Listings show all spin code.
    
    PASD scans the Propeller Tool and can cause lock up if compile fails.
    
    Both provide COG + HUB memory view/edit
    BMA also has print special register command.
    BMA is an on chip debugger and can be used with SpinSim.
    PASD hub footprint is smaller than BMA.
    The step animation record below is of great value.
    It steps through kuroneko's example showing all transactions.

    Displayed are the COG address, any special effects (none),
    instruction name/code, destination and source information.

    Code:
    c:\bstc\spin>bstc -d com6 -p0 -f -Ograux -L c:\bstc\spin pasmled.spin
    Brads Spin Tool Compiler v0.15.4-pre3 - Copyright 2008,2009 All rights reserved
    Compiled for i386 Win32 at 19:57:58 on 2010/01/15
    Loading Object pasmled
    Loading Object FullDuplexSingleton
    Loading Object BMAUtility
    Loading Object BMAopcodes
    Loading Object BMADebugger
    Loading Object BMAPASMstub
    Program size is 8748 longs
    1 Constants folded
    Compiled 1190 Lines of Code in 0.048 Seconds
    We found a Propeller Version 1
    Propeller Load took 1.432 Seconds
    
    c:\bstc\spin>uterm com6 115200
    
    
    Starting BMA Debugger ...
    
    BMA Debugger Started.
    T0.PC 008 Ok> a
    T0.PC 008 .      : add     80fc1601     D:00b  381f3801 S#001           D=00b  381f3802
    T0.PC 009 .      : wrlong  083c17f0   N D:00b  381f3802 S:PAR  0000258c D=00b  381f3802
    T0.PC 00a .      : jmp     5c7c0008   N D:000  083c01f3 S#008           D=000  083c01f3
    T0.PC 008 .      : add     80fc1601     D:00b  381f3802 S#001           D=00b  381f3803
    T0.PC 009 .      : wrlong  083c17f0   N D:00b  381f3803 S:PAR  0000258c D=00b  381f3803
    T0.PC 00a .      : jmp     5c7c0008   N D:000  083c01f3 S#008           D=000  083c01f3
    T0.PC 008 .      : add     80fc1601     D:00b  381f3803 S#001           D=00b  381f3804
    T0.PC 009 .      : wrlong  083c17f0   N D:00b  381f3804 S:PAR  0000258c D=00b  381f3804
    T0.PC 00a .      : jmp     5c7c0008   N D:000  083c01f3 S#008           D=000  083c01f3
    T0.PC 008 .      : add     80fc1601     D:00b  381f3804 S#001           D=00b  381f3805
    T0.PC 009 .      : wrlong  083c17f0   N D:00b  381f3805 S:PAR  0000258c D=00b  381f3805
    T0.PC 00a .      : jmp     5c7c0008   N D:000  083c01f3 S#008           D=000  083c01f3
    T0.PC 008 .      : add     80fc1601     D:00b  381f3805 S#001           D=00b  381f3806
    T0.PC 009 .      : wrlong  083c17f0   N D:00b  381f3806 S:PAR  0000258c D=00b  381f3806
    T0.PC 00a .      : jmp     5c7c0008   N D:000  083c01f3 S#008           D=000  083c01f3
    T0.PC 008 .      : add     80fc1601     D:00b  381f3806 S#001           D=00b  381f3807
    T0.PC 009 .      : wrlong  083c17f0   N D:00b  381f3807 S:PAR  0000258c D=00b  381f3807
    T0.PC 00a .      : jmp     5c7c0008   N D:000  083c01f3 S#008           D=000  083c01f3
    T0.PC 008 .      : add     80fc1601     D:00b  381f3807 S#001           D=00b  381f3808
    T0.PC 009 .      : wrlong  083c17f0   N D:00b  381f3808 S:PAR  0000258c D=00b  381f3808
    T0.PC 00a .      : jmp     5c7c0008   N D:000  083c01f3 S#008           D=000  083c01f3
    T0.PC 008 .      : add     80fc1601     D:00b  381f3808 S#001           D=00b  381f3809
    T0.PC 009 .      : wrlong  083c17f0   N D:00b  381f3809 S:PAR  0000258c D=00b  381f3809
    T0.PC 00a .      : jmp     5c7c0008   N D:000  083c01f3 S#008           D=000  083c01f3
    T0.PC 008 .      : add     80fc1601     D:00b  381f3809 S#001           D=00b  381f380a
    T0.PC 009 .      : wrlong  083c17f0   N D:00b  381f380a S:PAR  0000258c D=00b  381f380a
    T0.PC 00a .      : jmp     5c7c0008   N D:000  083c01f3 S#008           D=000  083c01f3
    T0.PC 008 .      : add     80fc1601     D:00b  381f380a S#001           D=00b  381f380b
    T0.PC 009 .      : wrlong  083c17f0   N D:00b  381f380b S:PAR  0000258c D=00b  381f380b
    T0.PC 00a .      : jmp     5c7c0008   N D:000  083c01f3 S#008           D=000  083c01f3
    T0.PC 008 .      : add     80fc1601     D:00b  381f380b S#001           D=00b  381f380c
    T0.PC 009 Ok>
    Here is kuroneko's LED blinker with changes to support the BMA debugger.
    Code:
    CON
        _clkmode = xtal1 + pll16x
        _clkfreq = 96_000_000
    
    OBJ
      ser : "FullDuplexSingleton"
      deb : "BMAUtility"
    
    PUB null | shared
    
      ser.start(31,30,0,115200)
      waitcnt(clkfreq+cnt)
    
      deb.debug(@generate, @shared)
      'cognew(@generate, @shared)                    ' start incrementer
    
      dira[16..23]~~                                ' all LEDs are outputs
      repeat                                        ' endless loop
        outa[16..23] := shared.byte[2]              ' display byte 2 only
    
    DAT             org     0
    generate
    long 0 [8]      ' required for debugger
    
    :loop           add     temp, #1                ' simply increment our value
                    wrlong  temp, par               ' share with SPIN cog
                    jmp     #:loop                  ' endless
    
    temp            res     1                       ' temporary (yes, blindingly obvious)
    
                    fit
    Last edited by jazzed; 07-24-2011 at 03:14 PM.

  19. #59

    Default Re: Propeller Assembly for beginners

    @ kuroneko

    Thanks.
    I got out my demo board and ran your program.
    Then..
    I eliminated the last two lines of your program as I could not understand what they did.
    I still works but I wondered of I had missed something. Did I do it right?
    Can one say that the RES area has to list all variables that will be used in the program and
    that all constants have to be listed as " value long 2000" which means that these are
    the equivalent of the VAR and CON areas of a SPIN program?

    I really appreciate your crisp input.

    @stephan

    Though I intend to learn to use a debugger later on, I am not sure that they are useful beginner's tools.
    Too long a learning curve to allow them to use them effectively in the beginning stages.
    Besides they want to learn PASM not debuggers. I think that comes later.
    I may change my mind and (at this stage) I may well be wrong.
    I say this because with all its mistakes in it, beginners still like my very simple SPIN book very much.
    The criticisms are from people who already know SPIN rather well, but then the book is not for them!
    I would like the PASM book to be similarly received.

    Harprit
    Last edited by Harprit; 07-24-2011 at 06:27 PM.

  20. #60

    Default Re: Propeller Assembly for beginners

    Anyone with enough desire will learn anything by any means including buying a book written by someone who knows little about the subject. Published books "project" a certain amount of credibility. People who know better and have several worthless beginners books will always be more selective. Fortunately for publishers, there always will be a near infinite flow of naive beginners.

+ Reply to Thread

Similar Threads

  1. Book for absolute beginners. Propeller 101
    By Harprit in forum Propeller 1 Multicore Microcontroller
    Replies: 121
    Last Post: 06-27-2010, 11:37 PM
  2. Propeller Assembly Q&A
    By Paul Baker in forum Propeller 1 Multicore Microcontroller
    Replies: 68
    Last Post: 10-07-2009, 01:52 AM
  3. Propeller PLL for beginners
    By Loopy Byteloose in forum Propeller 1 Multicore Microcontroller
    Replies: 0
    Last Post: 02-14-2008, 09:22 PM
  4. How many beginners would like to see a Beginners Sub Section?
    By TonyA in forum Propeller 1 Multicore Microcontroller
    Replies: 54
    Last Post: 08-10-2007, 10:52 PM
  5. How many beginners would like to see a Beginners Sub Section Forum?
    By TonyA in forum Propeller 1 Multicore Microcontroller
    Replies: 1
    Last Post: 08-02-2007, 10:10 PM

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts