keil工具如何设置main函数的参数

mashuo 2013-01-08 10:14:13
keil工具如何设置main函数的参数
...全文
733 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
lr2131 2013-01-09
  • 打赏
  • 举报
回复
引用 9 楼 mashuo 的回复:
main函数的两个参数,argc,argv要怎么传呢
原来你是想像在有文件系统的OS上运行main函数啊。 argc是参数个数,argv是参数数组指针列表首地址。这个是在运行应用程序时,OS调用main时会把这两个参数传到main中,main会依据这些个参数做出不同的选择、程序走不同的流程,以便做到某些适应和兼容。但这些都是OS调用main是传的,你的单片机上有这样的OS吗,你注意是有文件系统的OS,UCOS2都不行的。单片机上,在运行你的main之前是启动代码在运行,那块有些是用汇编写的,有的是用C写的,但一般都在运行期时不接受用户参数,顶多在编译期时你配置参数时会在编译时选好参数给到里面(运行时参数固定),但在运行期的时候,那参数到底你怎么给它呢,楼上已经有人给出这样的回答了,你没有仔细看,这么做不是不行,是没有意义。如果你一定要传参来做自适应(例如一套程序适应多种系列的外设驱动芯片),你可以在里面通过读取引脚信息来判断型号和系列,做自适应。需要你去连接到系统后通过串口、网络、按键...啥的传参这么麻烦吗!不然你不得一直等着系统启动、复位、重启吗!
lr2131 2013-01-08
  • 打赏
  • 举报
回复
不会,关注,帮顶。 如果是用汇编的话,可以试试,但是你的参数是怎么传呢?
mashuo 2013-01-08
  • 打赏
  • 举报
回复
main函数的两个参数,argc,argv要怎么传呢
lr2131 2013-01-08
  • 打赏
  • 举报
回复
void main(int parament) Reset_Handler PROC EXPORT Reset_Handler [WEAK] IMPORT __main IMPORT SystemInit LDR R0, =SystemInit BLX R0 LDR R0,XXXX;你要传的参数给到R0中,对应的是parament LDR R1, =__main BX R1 ENDP 对着你这个改的哈,没这么用过,不知道行不行。
dceacho 2013-01-08
  • 打赏
  • 举报
回复
启动代码那应该可以,不过没什么意义, 单片机程序不像PC中的程序那样可能面临N多不同的启动条件 单片机MAIN的参数从哪来,无非是在启动main前 通过通信接口(还没启动main很怀疑这个通信有没有初始化) 或者 内部FLASH或者类似EEPROM中读取 而这些完全可以在main中获得,再根据获得的参数转向不同的子程序
mashuo 2013-01-08
  • 打赏
  • 举报
回复
也不是说非要传参数给MAIN不可,呵呵 只是看到一段演示代码里,main函数使用了参数。我想直接用起来,但是不知道keil里如何才能传递main函数的参数,所以就请教下各位大虾,是否有什么办法可以把参数带进来
woshi_ziyu 2013-01-08
  • 打赏
  • 举报
回复
引用 4 楼 mashuo 的回复:
我用的是CORTEX-M3的stm32f103ze的芯片, 但是汇编不太会,看到启动代码里内容如下 Reset_Handler PROC EXPORT Reset_Handler [WEAK] IMPORT __main IMPORT ……
请问你为什么要传递参数给MAIN呢 不建议这样使用
mashuo 2013-01-08
  • 打赏
  • 举报
回复
我用的是CORTEX-M3的stm32f103ze的芯片, 但是汇编不太会,看到启动代码里内容如下 Reset_Handler PROC EXPORT Reset_Handler [WEAK] IMPORT __main IMPORT SystemInit LDR R0, =SystemInit BLX R0 LDR R0, =__main BX R0 ENDP 不知道应该怎样才能把参数带进来
lbing7 2013-01-08
  • 打赏
  • 举报
回复
单片机的MAIN不需要向上返回不需要运行参数,没有别的函数再调用MAIN MAIN就是整芯片功能的主体,如果有数据通信,那可以从别的通信接口把数据送出去。
woshi_ziyu 2013-01-08
  • 打赏
  • 举报
回复
哪个芯片 一般都会有启动文件的 可以在启动文件里面设置main的参数

27,382

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧