MSP432实现printf 输出

本文介绍了如何在MSP432单片机上使用CCS调试工具实现printf输出功能。通过重写fputc()和fputs()两个函数,成功解决了仅能输出字符串而无法输出格式化字符串的问题。示例代码展示了这两个函数的具体实现,用于串口发送数据。
摘要由CSDN通过智能技术生成

采用printf输出, 在单片机调试中当然是很方便的了。最近也是遇到了同样的问题,网上去搜大部分是STIM32,而且也没有找到调试成功的例子。这次我再MSP432,CCS上调通了, 贴出来记录一下。

要实现printf,就需要重写两个函数:

int  fputc(int _c, register FILE *_fp)

int  fputs(const char *_ptr, register FILE *_fp)

最开始我只写了 fputc( ), 发现只能输出字符串, 无法输出格式化的字符串,比如带%d的。 

最开始不知道为什么, 后来重写了fputs( )就可以了。

int  fputc(int _c, register FILE *_fp)
{
    MAP_UART_transmitData( DEBUG_UART_MODULE , (uint8_t) _c);
     while (!MAP_UART_getInterruptStatus(DEBUG_UART_MODULE,
                                        EUSCI_A_UART_TRANSMIT_INTERRUPT_FLAG));
     EUSCI_A_CMSIS(DEBUG_UART_MODULE)->IFG |= (EUSCI_A_UART_TRANSMIT_INTERRUPT_FLAG);
    return _c;
}
int  fputs(const char *_ptr, register FILE *_fp)
{
uint16_t i, len;
len = strlen(_ptr);
for(i=0; i<len; i++)
{

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值