msp430是一块主打低功耗的芯片,相比51系列单片机性能好得多,片内资源也非常丰富,缺点是价格比较贵。而如果不在意功耗的话,stm32明显是更好的选择。
我用的是某宝上的DM430—L最小系统版。这块板的资料详尽,针对初学者有视频教程,入门非常方便。下面的代码需要依赖Config.h头文件。
控制15BY2二相四线步进电机
这是一个二相四线的电机,我用4拍的方式进行控制,具体电平如图。
开数组存储4拍的电平,通过传入参数d判断正转或反转。其中position
存储着全局的电机位置,由于我的电机转速比是1:1000,所以一圈是20000步。最后控制电平在P3.0~P3.3输出接电机驱动。
1 | int position = 0; |
在1602LCD上输出一个整数
DM430的例程中只给了输出单个字符和以及输出字符串的函数,如果要输出整形则需要转换。递归分拆整数至单个字符输出,只需要3行代码:
1 | //*********************************************************************** |
这里有一个不同的地方是函数的x参数需要传入期望输出个位数的位置,而不是整形最高位的位置。当然,也可以用sprintf
将整形转换至字符串,这个方法需要包含stdio.h
头文件。