keil工具如何设置main函数的参数
keil main 参数
------解决方案--------------------
哪个芯片
一般都会有启动文件的 可以在启动文件里面设置main的参数
------解决方案--------------------
单片机的MAIN不需要向上返回不需要运行参数,没有别的函数再调用MAIN
MAIN就是整芯片功能的主体,如果有数据通信,那可以从别的通信接口把数据送出去。
------解决方案--------------------
启动代码那应该可以,不过没什么意义,
单片机程序不像PC中的程序那样可能面临N多不同的启动条件
单片机MAIN的参数从哪来,无非是在启动main前
通过通信接口(还没启动main很怀疑这个通信有没有初始化)
或者
内部FLASH或者类似EEPROM中读取
而这些完全可以在main中获得,再根据获得的参数转向不同的子程序
------解决方案--------------------
原来你是想像在有文件系统的OS上运行main函数啊。
argc是参数个数,argv是参数数组指针列表首地址。这个是在运行应用程序时,OS调用main时会把这两个参数传到main中,main会依据这些个参数做出不同的选择、程序走不同的流程,以便做到某些适应和兼容。但这些都是OS调用main是传的,你的单片机上有这样的OS吗,你注意是有文件系统的OS,UCOS2都不行的。单片机上,在运行你的main之前是启动代码在运行,那块有些是用汇编写的,有的是用C写的,但一般都在运行期时不接受用户参数,顶多在编译期时你配置参数时会在编译时选好参数给到里面(运行时参数固定),但在运行期的时候,那参数到底你怎么给它呢,楼上已经有人给出这样的回答了,你没有仔细看,这么做不是不行,是没有意义。如果你一定要传参来做自适应(例如一套程序适应多种系列的外设驱动芯片),你可以在里面通过读取引脚信息来判断型号和系列,做自适应。需要你去连接到系统后通过串口、网络、按键...啥的传参这么麻烦吗!不然你不得一直等着系统启动、复位、重启吗!