Menu

A Raspberry PI pico killer ?

2022-09-30
2022-11-17
  • Anobium

    Anobium - 2022-09-30

    It could be... but, the AVR NANOs (and, there are many of them) all have the same issue at the moment from a Great Cow BASIC there is no documented register or register.bit list published. So, we have some nice chip/boards and a total lack of documentation.

    It will not be a PICO killer if you have to use MPLAB-X and the new MCC to make it work!


    One day. I will have to figure how the register.bit work. From the datasheet.

    In order to address registers in the supplied C header files, the following rules apply:
    
    1. A register is identified by <peripheral_instance_name>.<register_name>, e.g., CPU.SREG, USART2.CTRLA, or PORTB.DIR.
    
    2. The peripheral name is given in the Peripheral Address Map in the Peripherals and Architecture section.
    
    3. <peripheral_instance_name> is obtained by substituting any n or x in the peripheral name with the correct instance identifier.
    
    4. When assigning a predefined value to a peripheral register, the value is constructed following the rule:
    <peripheral_name>_<bit_field_name>_<bit_field_value>_gc
    <peripheral_name> is <peripheral_instance_name>, but remove any instance identifier.
    <bit_field_value> can be found in the Name column in the tables in the Register Description sections
    describing the bit fields of the peripheral registers.
    

    Example

    // EVSYS channel 0 is driven by TCB3 OVF event
    EVSYS.CHANNEL0 = EVSYS_CHANNEL0_TCB3_OVF_gc;
    // USART0 RXMODE uses Double Transmission Speed
    USART0.CTRLB = USART_RXMODE_CLK2X_gc;
    

    Oh joy. The fun of new products from Microchip

     

    Last edit: Anobium 2022-09-30
  • Bertrand BAROTH

    Bertrand BAROTH - 2022-09-30

    Atmel Studio is free. And maybe this can help : page 62 of the datasheet.
    At least it works up to 5.5 V !

     

    Last edit: Bertrand BAROTH 2022-09-30
    • Anobium

      Anobium - 2022-09-30

      And, all the new PICs work to 5v5.

       
  • Anobium

    Anobium - 2022-09-30

    Re Page 62... that is the Peripheral Address Map and not the register map.

    Take PORTA @ 0x0400 this is now a configuration and not the register. So, to make this work would be a total rewrite of the compiler. However, it does not take a genius to workout that PORTA is a mask that the PIC-AS compiler uses to set a register - the smart part is working out the relationship of these masks to registers. A job for the future I think.

     
  • stan cartwright

    stan cartwright - 2022-11-17

    The rpipico is interesting, I have 3 but the only way to program them for me is micropython or mmbasic. I am too stupid to use mplab, that's why I use gcb.
    I would recommend rpipico with mmbasic ie picomite for anyone interested in microcontrollers but who can only program in basic, just for the price.
    There's a mmbasic that is for vga and ps2 keyboard but not sure the point except vga lcd monitors are £5 in charity shops and it's a dual core thing and one core does the basic and the other the vga and it has screen buffers and sprites and some sound, all 80's but better.
    this is ili9341 https://www.youtube.com/watch?v=_zsNK4mZpf8
    https://www.youtube.com/watch?v=aCETIQ8F9lQ

     

    Last edit: stan cartwright 2022-11-17

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.