Sh4dow's Blog

活了二十几年,从来没有人给过我一次意外感动或惊喜,也没有人在我生日的时候给过我特别的礼物,生病的时候得到的只是一些不在身边的语言安慰,也不见谁真正的照顾过自己,甚至有的时候自己蒙头睡一觉就好了,也有人喜欢过我,但是从没见谁坚持过。

物理隔离没有无线传输硬件情况如何传输数据

main.c

---------------------


// SYSTEM BUS RADIO

// https://github.com/fulldecent/system-bus-radio

// Copyright 2016 William Entriken


#include <stdio.h>

#include <emmintrin.h>

#include <mach/mach_traps.h>

#include <mach/mach_time.h>

#include <math.h>


__m128i reg;

__m128i reg_zero;

__m128i reg_one;

mach_port_t clock_port;

mach_timespec_t remain;


static inline void square_am_signal(float time, float frequency) {

  printf("Playing / %0.3f seconds / %4.0f Hz\n", time, frequency);

uint64_t period = NSEC_PER_SEC / frequency;


uint64_t start = mach_absolute_time();

uint64_t end = start + time * NSEC_PER_SEC;


while (mach_absolute_time() < end) {

    uint64_t mid = start + period / 2;

uint64_t reset = start + period;

    while (mach_absolute_time() < mid) {

      _mm_stream_si128(&reg, reg_one);

      _mm_stream_si128(&reg, reg_zero);

    }

    clock_sleep_trap(clock_port, TIME_ABSOLUTE, reset / NSEC_PER_SEC, reset % NSEC_PER_SEC, &remain);

start = reset;

}

}


int main()

{

mach_timebase_info_data_t theTimeBaseInfo;

  mach_timebase_info(&theTimeBaseInfo);

  puts("TESTING TIME BASE: the following should be 1 / 1");

printf("  Mach base: %u / %u nanoseconds\n\n", theTimeBaseInfo.numer, theTimeBaseInfo.denom);


uint64_t start = mach_absolute_time();

uint64_t end = mach_absolute_time();

printf("TESTING TIME TO EXECUTE mach_absolute_time()\n  Result: %lld nanoseconds\n\n", end - start);


reg_zero = _mm_set_epi32(0, 0, 0, 0);

reg_one = _mm_set_epi32(-1, -1, -1, -1);


while (1) {

    square_am_signal(0.400, 2673);

    square_am_signal(0.400, 2349);

    square_am_signal(0.400, 2093);

    square_am_signal(0.400, 2349);

    square_am_signal(0.400, 2673);

    square_am_signal(0.400, 2673);

    square_am_signal(0.790, 2673);

    square_am_signal(0.400, 2349);

    square_am_signal(0.400, 2349);

    square_am_signal(0.790, 2349);

    square_am_signal(0.400, 2673);

    square_am_signal(0.400, 3136);

    square_am_signal(0.790, 3136);

    square_am_signal(0.400, 2673);

    square_am_signal(0.400, 2349);

    square_am_signal(0.400, 2093);

    square_am_signal(0.400, 2349);

    square_am_signal(0.400, 2673);

    square_am_signal(0.400, 2673);

    square_am_signal(0.400, 2673);

    square_am_signal(0.400, 2673);

    square_am_signal(0.400, 2349);

    square_am_signal(0.400, 2349);

    square_am_signal(0.400, 2673);

    square_am_signal(0.400, 2349);

    square_am_signal(0.790, 2093);

}

}



--------------------------------------

gcc main.c -Wall -O2 -o main

苹果电脑:

./main



然后使用无线电接收机包括天线和调整到1580 kHz。你将收听到一首歌曲

评论

© Sh4dow's Blog | Powered by LOFTER