PaulStoffregen / AltSoftSerial

Software emulated serial using hardware timers for improved compatibility
http://www.pjrc.com/teensy/td_libs_AltSoftSerial.html
328 stars 131 forks source link

Add Support for ATMEGA328PB Please #65

Open maesoph opened 2 years ago

maesoph commented 2 years ago

Description

Describe your problem.

Does not appear to have support for ATMEGA328PB.

Steps To Reproduce Problem

Please give detailed instructions needed for anyone to attempt to reproduce the problem.

Just try compiling for ATMEGA328PB

Hardware & Software

ATMEGA328PB

Errors or Incorrect Output

Error while detecting libraries included by C:\Users\maeso\Documents\Arduino\libraries\AltSoftSerial\AltSoftSerial.cpp

Matejisko commented 1 year ago

Hi, i had same problem...

Using MCUdude/MiniCore witch 328PB variant selected i was unable to compile the program with AltSoftSerial library I got many errors like:

_AltSoftSerialBoards.h: 136:2: error: #error "Please define your board timer and pins" #error "Please define your board timer and pins"

_AltSoftSerial.cpp: 74:3: error: 'CONFIG_TIMERNOPRESCALE' was not declared in this scope _CONFIG_TIMERNOPRESCALE() . . .

But solution seems to be very easy. In file ...\libraries\AltSoftSerial\config\AltSoftSerial_Boards.h change line (85) : #elif defined(__AVR_ATmega168__) || defined(__AVR_ATmega328P__)

to:

#elif defined(__AVR_ATmega168__) || defined(__AVR_ATmega328P__) || defined(__AVR_ATmega328PB__)

Save the file, restart arduino and try.

Hope it helps

PaulStoffregen commented 1 year ago

@Matejisko - Do you know what is different with the "PB" chip? Please confirm the code did work when you ran it on a real PB chip and I will put this change into the code.