用keil C(单片机C开发工具)实现字符拼接

  C++ 属于面向对象的编程语言,OOP的思想不必多说,特别对于复杂的软件工程来说,利用OOP绝对是事半功倍,相对于传统的C来说;

当然用C来写单片机程序无可厚非,已经延续了一个传统,从大学时学的开始到工作岗位,好多人都是一直用C来做,但是既然Keil支持C++编译,

可以用C++来编写你的代码,可以利用高级语言来结构化,清晰化你的程序,为嘛不用呢!哈哈,个人看法!下面进入正题:

  C++ 兼容C,所以STM32的库都是可以被C++使用的,既然这样,那就简单了!在建立好新的STM32工程时候,那就可以直接进行C++编程了;

利用C++的方式,建立好文件,我写的一个Demo:

整个工程C++代码如上,直接进行编译即可;当然如果你的main还是用.c,也可以不用修改后缀,直接在main.c的属性里修改为C++sourcefile 即可,用到了中断文件,那中断文件也同样要改为C++类型的,

这样编译之后,和正常的C编写一样,下载文件到单片机即可;

差不多就这样了!以后有问题,继续研究!

}

用上述主函数调用下面的字符拼接函数,执行主函数中的第一步是OK的,第二步就不行,麻烦高手指点,弄了一天了,快疯了,万分感谢。
正确的应该主函数执行完第而步指针b应该指向“123456asdfg12345"才对。

可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

delay(20);//适当延时,消除按键抖动,自己看实际情况修改时间

有可能是局部变量的问题。char a[20];a是局部变量,第二次调用时值可能已丢失。如果b=123456;就可以肯定是局部变量值已丢失。

刚按您提供的函数调试了下,不能拼接,输出还是str1开始的值,麻烦邦下忙,弄了一天了,好象是丢失,但试了n种方案都不行,谢谢!
 
奇怪,把第二句的a和“123456”位置换一下就好了!
}

可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

c51与C语言的区别"这句话表达的有问题,keil只是一种编译软件,C语言是一种机器语言,两者没可比性。至于说汇编和C语言的优缺点很明显,汇编语言时间比较精准(一条语句一般是1~2个时钟周期),但是工程化不强,如果想建立较为复杂的工程一般都采用C语言。现在对于单片机编程一般都是采用C语言。不过一般都是先学习汇编,毕竟像keil这样的编译软件都是将C语言自动生成为汇编。先学习下汇编有助于对程序更为细节的了解。

本回答由电脑网络分类达人 郭强推荐

}

我要回帖

更多关于 keil C 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信