我使用mbed在线编译器编写程序并将其上传到multitech mDot LoRa tranceiver。我的程序主要是关于将特定大小的数据包发送到网关。在我的程序结束时,我想获得一些有关通信的统计信息。所以我被告知要使用一个名为getStats()的函数;这是在一个头文件(mDot.h)中。关于这个函数的所有内容,mDot.h如下:
class mDot {
public:
typedef struct {
uint32_t Up;
uint32_t Down;
uint32_t Joins;
uint32_t JoinFails;
uint32_t MissedAcks;
} mdot_stats;
// get current statistics
// Join Attempts, Join Fails, Up Packets, Down Packets, Missed Acks
mdot_stats getStats();
所以请问我如何在main.cpp中调用此函数并获取我的consle屏幕中打印的值(Up,Down,Joins,JoinFails和MissedAcks)。 真的很感谢你的帮助,因为我真的需要这个......
Noman
答案 0 :(得分:0)
怎么样:
mDot::mdot_stats stats = dot->getStats();
printf("Number of uplink packets %d\n", stats.Up);
答案 1 :(得分:0)
假设您有printf可用,您可以这样做:
void print(const mdot_stats& stats){
printf("Join Attempts: %d,\t" stats.Joins);
printf("Join Fails: %d,\t" stats.JoinFails);
printf("Up Packets: %d,\t" stats.Up);
printf("Down Packets: %d,\t" stats.Down);
printf("Missed Acks: %d,\t" stats.MissedAcks);
}
否则,如果您有幸在嵌入式环境中拥有ostream,则可以始终覆盖<<操作