你好,TI工程师
请教一下
1)我按摩或纹绣的波形从pio输出,一般只能通过定时器产生波形吗?我用的是keyfob的project,好像报警是方波。 我只能根据客户提供的不同波形要求来产生波。但他有好多种没什么规则的波形(可以用示波器观察,锁定)。而且电压幅度有几v,10多v,最高的有30多v,都是不停变换的。这个定时器产生的方波频率也没吃透?不知如何用定时器产生这些波
uint8 buzzerStart(uint16 frequency)
{
#if defined ( CC2540_MINIDK )
buzzerInit();
uint8 prescaler = 0;
// Get current Timer tick divisor setting
uint8 tickSpdDiv = (CLKCONSTA & 0x38)>>3;
// Check if frequency too low
if (frequency < (244 >> tickSpdDiv)){ // 244 Hz = 32MHz / 256 (8bit counter) / 4 (up/down counter and toggle on compare) / 128 (max timer prescaler)
buzzerStop(); // A lower tick speed will lower this number accordingly.
return 0;
}
// Calculate nr of ticks required to achieve target frequency
uint32 ticks = (8000000/frequency) >> tickSpdDiv; // 8000000 = 32M / 4;
// Fit this into an 8bit counter using the timer prescaler
while ((ticks & 0xFFFFFF00) != 0)
{
ticks >>= 1;
prescaler += 32;
}
// Update registers
T3CTL &= ~0xE0;
T3CTL |= prescaler;
T3CC0 = (uint8)ticks;
// Start timer
T3CTL |= 0x10;
#endif
return 1;
}
2)波形的强度(应该是波形电压幅度)改变能否通过固件设置,能的话在哪设置?不能的话,是否只能靠硬件来改变,通过什么元件。
我在想如果前面能产生不同的波形,后端是否可以用三极管放大就可以。幅度是否用dcdc产生不同电压幅度。我不知道哪种dcdc有产生几路不同电压加到三极管上。
如果pio口只能产生方波,那是否在后端要用DAC来改变幅度。
现在一头雾水,请指教。
谢了
祝好
lincoln
yuhua lincoln:
有ti的工程师大咖帮忙解答一下吗?
谢了