|
|
|
@ -45,7 +45,6 @@ THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
|
#include <avr/io.h>
|
|
|
|
#include <avr/io.h>
|
|
|
|
#include "yaMBSiavr.h"
|
|
|
|
#include "yaMBSiavr.h"
|
|
|
|
#include <avr/interrupt.h>
|
|
|
|
#include <avr/interrupt.h>
|
|
|
|
#include "aBusIO.h"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
volatile unsigned char BusState = 0;
|
|
|
|
volatile unsigned char BusState = 0;
|
|
|
|
volatile uint16_t modbusTimer = 0;
|
|
|
|
volatile uint16_t modbusTimer = 0;
|
|
|
|
@ -200,6 +199,7 @@ ISR(UART_RECEIVE_INTERRUPT)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//TODO
|
|
|
|
ISR(UART_TRANSMIT_INTERRUPT)
|
|
|
|
ISR(UART_TRANSMIT_INTERRUPT)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
BusState&=~(1<<TransmitRequested);
|
|
|
|
BusState&=~(1<<TransmitRequested);
|
|
|
|
@ -219,6 +219,7 @@ ISR(UART_TRANSMIT_COMPLETE_INTERRUPT)
|
|
|
|
modbusReset();
|
|
|
|
modbusReset();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//TODO
|
|
|
|
void modbusInit(void)
|
|
|
|
void modbusInit(void)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
UBRRH = (unsigned char)((UBRR) >> 8);
|
|
|
|
UBRRH = (unsigned char)((UBRR) >> 8);
|
|
|
|
@ -242,6 +243,7 @@ void modbusInit(void)
|
|
|
|
* Arguments: - packtop: Position of the last byte containing data.
|
|
|
|
* Arguments: - packtop: Position of the last byte containing data.
|
|
|
|
* modbusSendException is a good usage example.
|
|
|
|
* modbusSendException is a good usage example.
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
|
|
|
|
//TODO
|
|
|
|
void modbusSendMessage(unsigned char packtop)
|
|
|
|
void modbusSendMessage(unsigned char packtop)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
PacketTopIndex=packtop+2;
|
|
|
|
PacketTopIndex=packtop+2;
|
|
|
|
|