{
// my_daemon()()
int sock_get_ip
struct ifreq ifr_ip
if ((sock_get_ip=socket(AF_INET, SOCK_STREAM, 0)) == -1)
{
printf("扮链socket create failse...GetLocalIp!/厅春孙森陆n")
return 0
}
memset(&ifr_i
//显示123456的程序,这只是整个程序片段#include "led_ioctl.h"
int Led_123()
{
int led_fd,count
char ret[7] //数组ret[i] 存放送LED显示的数据
//【打开LED设备】
led_fd = open("/dev/led",O_RDWR)
if (led_fd <= 0){
printf("樱判open led device error\n")
return 0
}//含颂巧if
ret[5] = 0x4f//初始化数组数值为 5.
ret[4] = 0x53//初始化数组数值为 4.
ret[3] = 0x5d//初始化数组数值为 3.
ret[2] = 0x9d//初始化数组数值为 2.
ret[1] = 0x50//初始化数谈键组数值为 1.
ioctl(led_fd,IOCTRL_LED_1)
count = write(led_fd,ret+1,1)
ioctl(led_fd,IOCTRL_LED_2)
count = write(led_fd,ret+2,1)
ioctl(led_fd,IOCTRL_LED_3)
count = write(led_fd,ret+3,1)
ioctl(led_fd,IOCTRL_LED_4)
count = write(led_fd,ret+4,1)
ioctl(led_fd,IOCTRL_LED_5)
count = write(led_fd,ret+5,1)
ioctl(led_fd,IOCTRL_LED_6)
count = write(led_fd,ret+6,1)
return 0
}
不懂C语言但稍微懂一点ARM Cortex-M3 汇编很久没写汇编了,下边这个没调试直接编的不是乱者睁范例,所以肯定写错了
编译器GCC-ARM-NONE-EABI
应该有范例,你还是找范例吧
i: .int 20 @int i=20
a: .int 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 @ 定义A数组
b: .int 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3@ 定义B数组
ldr r0, = i@把20存到R0
xunhuan1: @ if 里面
ldr r1, = a @ 把A数组的首地址存到R1
ldr r2, [r1, r0] @ 取出首地址加20处的数据存嫌敬到R2
ldr r3, = b @ 把B数组的首地哗岁址存到R3
ldr r4, [r3, r0] @取出首地址加20处的数据存到R4
mov r5, # 4 @ 把被乘数存到R5
mul r4, r4, r5 @ R4乘以4 b[i]*4
add r6, r2, r4 @ R2加上R4存到R6 a[i]+b[i]*4
str r6, [r1, r0]@ R6的数据存到A首地址加20的地方
lsrs r0, # 1 @ R0逻辑右移
bne xunhuan @ 判断R0是不是等于0不等于跳到xunhuan
xunhuan: @ while 循环
sub r0, # 1 @ i减1
cmp r0, # 0 @比较R0和0
bge xunhuan1@大于等于跳转xunhuan1
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)