小编Uin*_*t32的帖子

C字符串不能在循环中正确迭代

我试图通过Beaglebone Black的UART0打印字符串.引导程序初始化UART0,我只需要写字符.我做了一个简单的功能

void uart_put(unsigned char c)
{
    while((UART0->LSR_r & 32) == 0);
    UART0->THR = c;     
}
Run Code Online (Sandbox Code Playgroud)

从启动代码调用以下函数我只是在此函数中打印字符.

#define SIZE_OF_ARRAY 7 
int c_entry(void)
{
unsigned char s_name[SIZE_OF_ARRAY] = "Hello";
unsigned char a_name[SIZE_OF_ARRAY] = {'H','e','l','l','o','\0'};
unsigned int a_int[SIZE_OF_ARRAY] = {9,8,7,6,5,4};
int i = 0;
    for(i = 0; i<6; i++)
    {
      uart_put('0'+i);      /*print value of i*/
      uart_put(9);          /*print a tab*/
      uart_put(s_name[i]);  /*print char from string*/
      uart_put(9);          /*print a tab*/
      uart_put(a_name[i]);  /*print char from array*/
      uart_put(9);          /*print a tab*/
      uart_put('0'+a_int[i]);   /*print int from array*/ …
Run Code Online (Sandbox Code Playgroud)

c arrays embedded arm beagleboneblack

8
推荐指数
1
解决办法
385
查看次数

volatile作为参数标识符

我在最近的一次采访中被问到一个问题,下面定义了一个函数

int square(volatile int * p)
{
    return *p**p;
}
Run Code Online (Sandbox Code Playgroud)

我被告知有一些问题是这个功能并不适合计算广场,我认为这是由于波动,谁能解释为什么?

c pointers

4
推荐指数
1
解决办法
63
查看次数

标签 统计

c ×2

arm ×1

arrays ×1

beagleboneblack ×1

embedded ×1

pointers ×1