Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
используя всю мощь управляемого кода и Visual Studio
А помигать лампочками как раз проще в каком нибудь Arduino.
На текущий момент, он все еще требует определенных навыков и знаний
зато появятся люди с другим складом ума, которые придумают много новых необычных устройств, так как создавать их станет гораздо легче.
Как минимум отмечу, что «необычный» и «полезный» — это разные категории, хотя иногда и пересекающиеся.
полезные вещи делать будут как раз люди, напрягающие мозг, подхватившие хорошую идею
То есть вы выступаете против популяризации технологий, так как это ведет к увеличению количества дилетантов?
Важно что человек научился чему-то новому.
ТОЭ — это теория, причем достаточно нудная.
А за полтора часа с нуля помигать светодиодами — это интересно.
И вполне может сподвигнуть к изучению ТОЭ.… Мы же с вами не в вузе преподаем сейчас.
учиться 3 года чтобы прикрутить Wifi к Arduino и почувствовать себя по настоящему крутым, потому что теперь ты будешь понимать все: от каждого вольта в триггерах регистров до колебания частиц в антенне
в вас говорит закоренелый преподаватель
Интерес к специальности появляется курсе на 4, когда ты понимаешь что и зачем.
Конечно есть на потоке несколько человек тех, кто «кто правда знают, куда и зачем пришли». Но, скажем так, это несколько «странные» люди.
А еще тебе 20 лет и жизнь вокруг кипит…
public static class WinFilterеTest
{
private const int NCoef = 10;
private const int DCgain = 8192;
//__int16 iir(__int16 NewSample)
public static short iir(short NewSample)
{
short[] ACoef = new short[NCoef + 1] {
93,
930,
4186,
11163,
19536,
23443,
19536,
11163,
4186,
930,
93
};
short[] BCoef = new short[NCoef + 1] {
1024,
-5106,
12222,
-18168,
18404,
-13195,
6751,
-2425,
584,
-85,
5
};
int[] y = new int[NCoef + 1]; //output samples
//Warning!!!!!! This variable should be signed (input sample width + Coefs width + 10 )-bit width to avoid saturation.
int[] x = new int[NCoef + 1]; //input samples
int n;
//shift the old samples
for (n = NCoef; n > 0; n--)
{
x[n] = x[n - 1];
y[n] = y[n - 1];
}
//Calculate the new output
x[0] = NewSample;
y[0] = ACoef[0] * x[0];
for (n = 1; n <= NCoef; n++)
y[0] += ACoef[n] * x[n] - BCoef[n] * y[n];
y[0] /= BCoef[0];
return (short)(y[0] / DCgain);
}
}
public class Program
{
public static void Main()
{
for (int j = 0; j < 10; j++)
{
short[] input = new short[8000];
short[] output = new short[8000];
for (int i = 0; i < 8000; i++)
{
input[i] = (short) i;
}
var start = DateTime.Now;
for (int i = 0; i < 8000; i++)
{
output[i] = WinFilterеTest.iir(input[i]);
}
var stop = DateTime.Now;
var delta = stop - start;
Debug.Print(delta.ToString());
}
}
#define NCoef 10
#define DCgain 8192
#define __int16 short
#define __int32 int
__int16 iir(__int16 NewSample) {
__int16 ACoef[NCoef+1] = {
93,
930,
4186,
11163,
19536,
23443,
19536,
11163,
4186,
930,
93
};
__int16 BCoef[NCoef+1] = {
1024,
-5106,
12222,
-18168,
18404,
-13195,
6751,
-2425,
584,
-85,
5
};
static __int32 y[NCoef+1]; //output samples
//Warning!!!!!! This variable should be signed (input sample width + Coefs width + 10 )-bit width to avoid saturation.
static __int16 x[NCoef+1]; //input samples
int n;
//shift the old samples
for(n=NCoef; n>0; n--) {
x[n] = x[n-1];
y[n] = y[n-1];
}
//Calculate the new output
x[0] = NewSample;
y[0] = ACoef[0] * x[0];
for(n=1; n<=NCoef; n++)
y[0] += ACoef[n] * x[n] - BCoef[n] * y[n];
y[0] /= BCoef[0];
return y[0] / DCgain;
}
short input[8000];
short output[8000];
int main(void)
{
int i,j;
for (j = 0; j < 10; j++)
{
for (i = 0; i < 8000; i++)
{
input[i] = (short) i;
}
for (i = 0; i < 8000; i++)
{
output[i] = iir(input[i]);
}
}
/* Infinite loop */
while (1)
{
}
}






MMP: error MMP0000: CLR_E_FAIL
не сталкивались?
MMP : error MMP0000: CLR_E_FAIL [c:\root\NETMF\netmf-interpreter\Solutions\STM32F4DISCOVERY\TinyCLR\TinyCLR.proj]
c:\root\NETMF\netmf-interpreter\tools\targets\Microsoft.SPOT.System.GCC.targets(349,5): error MSB3073: выход из команды "c:\root\NETMF\netmf-interpreter\BuildOutput\public\Release\Server\dll\MetaDataProcessor.exe -sign_file c:\root\NETMF\netmf-interpreter\BuildOutput\THUMB2FP\GCC4.9\le\FLASH\release\STM32F4DISCOVERY\bin\tinyclr.bin\ER_DAT c:\root\NETMF\netmf-interpreter\t
ools\bin\tinybooter_private_key.bin c:\root\NETMF\netmf-interpreter\BuildOutput\THUMB2FP\GCC4.9\le\FLASH\release\STM32F4DISCOVERY\bin\tinyclr.hex\ER_DAT.sig" с кодом 10. [c:\root\NETMF\netmf-interpreter\Solutions\STM32F4DISCOVERY\TinyCLR\TinyCLR.proj]
...bin\tinyclr.bin\ER_DAT
Запуск .Net Micro Framework 4.4 на STM32F4Discovery