嵌入式
Robben.Han
一个喜欢投资的程序猿
展开
-
eclipse开发stm32记录
目录(需要整套下载包的可以留言邮箱给我)安装eclipse + cdt安装GNU ARM Toolchain安装GNU eclipse ARM插件之前都是用mdk-keil来开发stm32的程序,很不幸,有个项目需要用到opcua通讯模块,而opcua这块的协议代码是ecilpse的,只好折腾下eclipse,先把opcua跑起来,再考虑下一步移植。(需要整套下载包的可以...原创 2019-11-27 11:57:51 · 475 阅读 · 0 评论 -
关于tcp/udp数据包大小的选择问题
最近再使用UDP通讯时,有组数据是200029字节,测试发现server收不到数据查看sendto的返回结果,以及error信息:发现是发送失败,数组太大了,message too long,原来UDP一个包最大是65535个字节,出去各种ip头等的开销,最大发送数组为65507。(IP包头有一个16bit的长度, 对应的二进制最大值是2^16 -1,也就是说一个IP包整个长度的...原创 2019-10-24 10:10:18 · 1362 阅读 · 0 评论 -
pc-com串口(DB9)管脚定义和单片机uart串口
1、pc的串口com口,也就是RS-232接口定义(DB9)引脚 定义 符号1载波检测 DCD(Data Carrier Detect)2 接收数据 RXD(Received Data)3 发送数据 TXD(Transmit Data)4 数据终端准备好 DTR(Data Terminal Ready)5 信号地 SG(Signal Ground)6 数据准...原创 2019-10-14 16:51:17 · 2801 阅读 · 0 评论 -
stm32使用mdk编译时,__attribute__((at0xD0000000)))绝对定位无效的问题
以前使用过__attribute__((at(0x20021600)))绝对定位功能,是OK的。今天在使用它调试外部sram的时候,定义变量突然不能定位了,百思不得其解,折腾了半天。终于无意中发现了这句话:绝对定位不能在函数中定义,局部变量是定义在栈区的,栈区由MDK自动分配、释放,不能定义为绝对地址,只能放在函数外定义。问题解决!...原创 2019-08-05 09:43:50 · 3311 阅读 · 0 评论 -
keil-stm32报错:function call is not allowed in a constant expression
今天在调试一个stm32程序,将一个定长数组改为不定长数组的时候,编译报错:function call is not allowed in a constant expressionu8 usart1_recv = malloc(SRAMEX,USART!_REC_LEN);想了一下,原来是改行忘记放到函数里面,放到初始化函数中就OK了。...原创 2019-10-08 17:48:42 · 13428 阅读 · 3 评论