在相关问题中找不到任何相关内容.最有可能是超级菜鸟,但无论如何我都会问/我的.h文件中有以下内容:
typedef union _API_Packet_0x90{
uint8_t packet[26];
struct _pack_struct {
uint8_t start;
uint8_t length[2];
uint8_t addr64[8];
uint8_t addr16[2];
uint8_t options;
uint8_t rfData[4];
uint8_t chksum;
};
} API_Packet_0x90;
API_Packet_0x90 ap90;
Run Code Online (Sandbox Code Playgroud)
这是微控制器的代码,我使用的是xc8工具链(以前的Hi Tech C).编译器说:
xbee_api.h:19:警告:缺少基本类型; int假设
xbee_api.h:19:错误:";" 预期
xbee_api.h:19:警告:缺少基本类型; int假设
xbee_api.h:21:警告:缺少基本类型; int假设
,这继续(太多的错误)
我认为这是uint8_t,所以我补充道#include <ctypes.h>.不.我以为这是关于名字的,所以我尝试了各种各样的戏剧,比如
typedef union {
uint8_t packet[26];
struct _pack_struct {
};
} API_Packet_0x90;
Run Code Online (Sandbox Code Playgroud)
要么
typedef union {
uint8_t packet[];
struct _pack_struct {
};
} API_Packet_0x90;
Run Code Online (Sandbox Code Playgroud)
或其他人.什么都没有帮助.我被卡住,因为我相信我正在遵循语法.有帮助吗?
我正在使用Python 3.x和PyScripter编写我的脚本.我真的很想念PyScripter中的版本控制功能 - 我被Qt和MpLab X宠坏了(我相信这是Eclipse的颠覆).事情很简单.现在我在PyScripter中没有任何版本控制,但我确实安装了Mercurial.我完全意识到我可以手工管理Mercurial,但我很懒惰,讨厌手工操作.我有其他任何一些光滑和顺畅的选择吗?我已经准备好使用任何其他vc系统(例如git) - 我只是想知道什么是最无痛的方式(正确的).
我正在为STM32F3 mc(STM32F3-Discovery)编写嵌入式代码.我需要输出一些数据,UART和我的使用DMA此,因为这可以让我专注于传感器读取和数据处理,而不是等待字节传输完成.然而问题是我必须结合:
所以我在想循环缓冲区.但我不认为我知道如何使sprintf尊重缓冲区的结束并继续写入缓冲区的开头.我当然可以创建另一个临时缓冲区,在那里打印,并逐字节复制,但它对我来说并不优雅.
逻辑测试a == True如何生成False,但是如果a:有效,这怎么可能?请参阅下面的代码
>>> a = bin(0)
>>> if a:
print a == True, 'HOWWWW???????'
False HOWWWW???????
>>> type(a)
<type 'str'>
>>>
Run Code Online (Sandbox Code Playgroud)