hello People !! I have traying to upload this code (see below) in Tiva C LP with CC2530 AIR MODULE. I have this errors, someone gives me some help please. " I have libreries in order and all".
Zigbee codes and frequency measurements, work great separately, but when I try to put them together (look at code) it gives me the following error.
C:\Users\Myriam\Documents\Energia\libraries\SPI\SPI.cpp: In member function 'void SPIClass::begin()':
C:\Users\Myriam\Documents\Energia\libraries\SPI\SPI.cpp:207:55: error: invalid conversion from 'long unsigned int*' to 'uint32_t* {aka unsigned int*}' [-fpermissive]
while(ROM_SSIDataGetNonBlocking(SSIBASE, &initialData));
^
C:\Users\Myriam\Documents\Energia\libraries\SPI\SPI.cpp: In member function 'uint8_t SPIClass::transfer(uint8_t)':
C:\Users\Myriam\Documents\Energia\libraries\SPI\SPI.cpp:244:35: error: invalid conversion from 'long unsigned int*' to 'uint32_t* {aka unsigned int*}' [-fpermissive]
ROM_SSIDataGet(SSIBASE, &rxtxData);
^
my code is:
#include <stdint.h>
#include <stdbool.h>
#include <ZigBee.h>
#include <SPI.h>
#define PART_TM4C123GH6PM
#include "inc/tm4c123gh6pm.h"
/*****************************
* LM4F120 - timer0
* Using TimerIntRegister
* 80 Mhz clock
*****************************/
#include "inc/hw_ints.h"
#include "driverlib/interrupt.h"
#include "driverlib/sysctl.h"
#include "driverlib/timer.h"
int timer;
void initTimer()
{
ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER0);
ROM_TimerConfigure(TIMER0_BASE, TIMER_CFG_PERIODIC); // 32 bits Timer
TimerIntRegister(TIMER0_BASE, TIMER_A, Timer0Isr); // Registering isr
ROM_TimerEnable(TIMER0_BASE, TIMER_A);
ROM_IntEnable(INT_TIMER0A);
ROM_TimerIntEnable(TIMER0_BASE, TIMER_TIMA_TIMEOUT);
}
void Timer0Isr(void)
{
ROM_TimerIntClear(TIMER0_BASE, TIMER_TIMA_TIMEOUT); // Clear the timer interrupt
timer = TimerValueGet(TIMER0_BASE,TIMER_A);
digitalWrite(GREEN_LED, digitalRead(GREEN_LED) ^ 1); // toggle LED pin
}
void printNetwork(int connectStatus){
if(connectStatus==SUCCESS){
Serial.println("Success!");
Serial.print("Connected to: PanID: 0x");
Serial.print(ZigBee.panId(),HEX);
Serial.print(", Channel: 0x");
Serial.print(ZigBee.channel(),HEX);
Serial.print(", Address: 0x");
Serial.println(ZigBee.address(),HEX);
}
else{
Serial.print("Error: 0x");
Serial.println(connectStatus,HEX);
}
}
void setup()
{
Serial.begin(115200);
// Serial.print("Coordinator: Initializing Network...");
printNetwork(ZigBee.begin(COORDINATOR));
pinMode(GREEN_LED,OUTPUT);
initTimer();
}
void loop()
{
if(ZigBee.connected()){ // check if network joined
if (ZigBee.receive()){
if (ZigBee.received(TYPE)==DEVICE_ANNOUNCE){
Serial.print("Device Announce From: 0x");
Serial.println(ZigBee.address(FROM),HEX);
}
else if (ZigBee.received(TYPE)==INCOMING_DATA){
for (int i=0;i<80;i++){
Serial.print("-");
}
Serial.println(ZigBee.address(FROM),HEX);
Serial.println();
Serial.print("Count: ");
ZigBee.printlnTo(Serial,UINT8);
Serial.print("Voltage: ");
int16_t voltage = ZigBee.read(INT16);
Serial.print(voltage/1000);
Serial.print(".");
Serial.print((voltage%1000)/100);
Serial.print((voltage%100)/10);
Serial.print((voltage%10));
Serial.println("V");
Serial.print("Temperature: ");
int16_t temperature= ZigBee.read(INT16);
Serial.print(temperature/10);
Serial.print(".");
Serial.print(temperature%10);
Serial.println('C');
}
}
}
else {
Serial.print("Disconnected...Restarting...");
printNetwork(ZigBee.begin(COORDINATOR));
}
int reloj= SysCtlClockGet();
ROM_TimerLoadSet(TIMER0_BASE, TIMER_A,10000000); // ulPeriod-1
float freq = (10000000-timer-8161024);
if (freq<0)
freq=0.0;
else
freq=freq;
Serial.println("While timer is running ...");
while (1)
{
Serial.print(freq);Serial.print(" ");
Serial.print(timer);Serial.print(" ");
Serial.print(reloj);Serial.println(" ");
delay(1000);
}
}
I can not find errors in my code (attached above).
thanks for your reply :).