Go Down

Topic: ATTiny85 with 74HC595 not matching ? (Read 1 time) previous topic - next topic

DrAzzy

Hm - sounds like an issue specific to hamisu-anguan's network (or a transient issue that has passed now).

The manual install described here https://github.com/SpenceKonde/ATTinyCore/blob/master/Installation.md will work regardless.

Looking at your code, I think I see the problem (this analysis ONLY applies to my core, I don't know how David handles this; handling the analog vs digital pin numbers has been an incredible headache for me). Pxn type notation (like PB2) will never work with arduino pin manipulation functions. Not on my core or any other core; these are already defined by the compiler, and they are not defined to something that can be used to do what you want. You must use the Arduino Digital Pin Numbers, the A# defines for the analog pins.

With 1.1.4 and later of my core, you can use A# constants for pinMode()/digitalWrite() and analogRead() - however the inverse is not true - if you pass a digital pin number to analogRead() it will not read the pin you expect it to. There's no way to tell when someone does analogRead(1) that they mean the ADC channel attached to digital pin 1, vs ADC channel number 1. There is no way to resolve this without breaking backwards compatibility in a major way (there is a lot of code in use, some of it in actual business applications, that uses ADC channel numbers
This code:
Code: [Select]
//Pin Analog1 as probe pin, uP (1 input Pin)
int probe = PB2;
//Pin connected to ST_CP of 74HC595, (uP 2nd Output Pin)
int latchPin = PB3;
//Pin connected to SH_CP of 74HC595, (uP 3rd Output Pin)
int clockPin = PB0;
////Pin connected to DS of 74HC595, (uP 4th Output Pin)
int dataPin = PB4;


Change to:
Code: [Select]

//Pin Analog1 as probe pin, uP (1 input Pin)
int probe = A1;
//Pin connected to ST_CP of 74HC595, (uP 2nd Output Pin)
int latchPin = 3;
//Pin connected to SH_CP of 74HC595, (uP 3rd Output Pin)
int clockPin = 0;
////Pin connected to DS of 74HC595, (uP 4th Output Pin)
int dataPin = 4;


ATTinyCore for x4/x5/x61/x7/x8/x41/1634/828/x313 megaTinyCore for the megaavr ATtinies - Board Manager:
http://drazzy.com/package_drazzy.com_index.json
ATtiny breakouts, mosfets, awesome prototyping board in my store http://tindie.com/stores/DrAzzy

Smajdalf

I think PBx is #defined as x so it should no be problem here but you are right it should not be used: it will fail for (most of) other Arduinos.
How to insert images: https://forum.arduino.cc/index.php?topic=519037.0

hamisu-anguan

Oh...I manage to installed it.

It doesnt work when VPN is ON.

hamisu-anguan


Thank you DRAzzy for the clarification. This pin notation is really headache.

Sowhen I use as Analog pin, I define it as A1.
If I use it as Digital Pin, I will have to use pinMode to define input or output and make it as Pin number 2 ?

Am I right ?

hamisu-anguan


I already install the DrAzzy ATTiny core successfully and the compile do not have error. So I uploaded the following program into my shield.

I try to use the Analog read with a smaller code, the problem is my Serial Monitor doesnt show any things.



*/
//Digital Pin1 is PWM Output to drive the L293 (In ATTiny shall be 1 )
//Pin A1 as Analog probe pin

int probe = A1;
int val;

void setup()
{
pinMode (1, OUTPUT);   
Serial.begin(9600);
}

void loop()
{
    int pulseWidth;
    int val = analogRead(probe);
    Serial.println(val);
    delay(500);

    pulseWidth = map (val, 0, 1023, 0, 255);
    analogWrite(1, pulseWidth);
   
}



hamisu-anguan


May I know the Timer1 clock in DrAzzy ATTiny core shall be set to CPU ?
At what situation it set to 32 or 64 MHz ?

What about LTO  ? Shall I enable it since i am using IDE version 1.8.2 ?


DrAzzy

Leave timer clock at the default setting (not clocked off pll) unless you are doing high frequency pwm.  Lto can be turned on, yes - it'll make the compiled sketch smaller.
ATTinyCore for x4/x5/x61/x7/x8/x41/1634/828/x313 megaTinyCore for the megaavr ATtinies - Board Manager:
http://drazzy.com/package_drazzy.com_index.json
ATtiny breakouts, mosfets, awesome prototyping board in my store http://tindie.com/stores/DrAzzy

hamisu-anguan


But my Serial monitor still doesnt show anything. Is that not able to use or I still have something wrong in my setup ?

Smajdalf

(Standalone) ATTiny is unlikely to have Serial monitor unless you add it and use USB emulation like Digispark or some USB/TTL interface (i.e. Arduino).
How to insert images: https://forum.arduino.cc/index.php?topic=519037.0

hamisu-anguan


But i am using UNO with a shield to program this ATTiny85. seem like this method does not have the facility to debug with Serial. Any others way we can use to be able to program and debug with serial ?

Go Up