The serial interrupt code in the stock ECU is very simple. A 1 byte hex address is sent to the ECU, and the ECU responds with the contents of RAM memory at that address. The reason that the stock ECU code is not suitable for datalogging under most circumstances is that the serial port is initialized to a very high baud rate. It runs at (CLK / 64 baud), or 12Mhz / 64 (187,500 baud), which is not terribly serial-port friendly. See Intel8051 tutorials for information about this.
In order to do datalogging currently, Timer2, which is unused elsewhere in the code, is used to initialize the serial port to a speed that is close to 9600 baud, which PC serial ports can communicate at.
|
Copyright © 2002-present by the contributing authors. All material on this collaboration platform is the property of the contributing authors, and is covered by the Non-Commercial Share-Alike License unless explicitly stated otherwise. |
|