开发开发板上跑的helloworld一定要加-static

使用arm-linux-gcc编译器对helloworld.c源码进行静态编译,生成名为a.out的可执行文件。将这个a.out复制到目标开发板上,无需依赖库即可直接运行。
摘要由CSDN通过智能技术生成

arm-linux-gcc helloworld.c -static
然后把这个a.out放在开发板里就能跑了。

在STM32F103系列开发板上使用串口发送char型数组,你可以使用STM32的标准外设库函数来实现。以下是一个示例代码,假设你使用的是STM32Cube HAL库: ```c #include "stm32f1xx_hal.h" UART_HandleTypeDef huart1; void SystemClock_Config(void); static void MX_GPIO_Init(void); static void MX_USART1_UART_Init(void); int main(void) { HAL_Init(); SystemClock_Config(); MX_GPIO_Init(); MX_USART1_UART_Init(); char data[] = "Hello, World!"; HAL_UART_Transmit(&huart1, (uint8_t*)data, sizeof(data), HAL_MAX_DELAY); while (1) {} } void SystemClock_Config(void) { // 配置系统时钟 } static void MX_GPIO_Init(void) { // 配置GPIO引脚 } static void MX_USART1_UART_Init(void) { huart1.Instance = USART1; huart1.Init.BaudRate = 115200; huart1.Init.WordLength = UART_WORDLENGTH_8B; huart1.Init.StopBits = UART_STOPBITS_1; huart1.Init.Parity = UART_PARITY_NONE; huart1.Init.Mode = UART_MODE_TX_RX; huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE; huart1.Init.OverSampling = UART_OVERSAMPLING_16; if (HAL_UART_Init(&huart1) != HAL_OK) { Error_Handler(); } } void Error_Handler(void) { while(1) {} } #ifdef USE_FULL_ASSERT void assert_failed(uint8_t* file, uint32_t line) { } #endif ``` 在这个示例代码中,我们使用了USART1作为串口,并在串口上发送了一个char型数组 `data`。首先,我们通过 `MX_USART1_UART_Init()` 函数初始化了串口。然后,使用 `HAL_UART_Transmit()` 函数发送数组数据到串口。这个函数的参数包括串口句柄、数据缓冲区指针、数据大小和发送超时时间。 请注意,此示例使用了STM32Cube HAL库,你需要在CubeMX中生成代码,并根据你的硬件和工程配置进行适当的修改。 通过连接STM32F103系列开发板的串口,你可以观察到串口上发送的数据。你可以使用串口终端软件(如Tera Term、Putty等)来监视串口输出。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xf807989

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值